易语言暂停多个进程

易语言暂停多个进程,第1张

OpenProcess 取得 process handle 2CreateToolhelp32Snapshot 得到一个snapshot 3然后调 Thread32First,Thread32Next 取线程

源码:版本 2DLL命令 暂停线程, 整数型, "kernel32dll", "SuspendThread" 参数 hThread, 整数型, , 线程句柄DLL命令 恢复线程, 整数型, "kernel32dll", "ResumeThread", , 解除挂起 参数 hThread, , , 线程句柄DLL命令 创建线程, 整数型, "kernel32dll", "CreateThread" 参数 lpThreadAttributes, 整数型 参数 dwStackSize, 整数型 参数 子程序指针, 子程序指针 参数 参数, 整数型 参数 dwCreationFlags, 整数型 参数 线程ID, 整数型, 传址DLL命令 销毁线程, , "kernel32dll", "TerminateThread" 参数 线程ID, 整数型 参数 dwExitCode, 整数型

一般手机插入都会显示H盘或者是其他的

只有你判断H盘是否存在就行了。

下面是获取U盘的插入或拔除事件的代码,有dll命令和自定义类型常量

版本 2

程序集 窗口程序集1

程序集变量 a, 子程序指针

子程序 __启动窗口_创建完毕

a = SetWindowLong (_启动窗口取窗口句柄 (), -4, &MsgProc)

子程序 MsgProc, 整数型

参数 hwnd, 整数型

参数 msg, 整数型

参数 wp, 整数型

参数 lp, 整数型

局部变量 val, PDEV_BROADCAST_VOLUME

局部变量 i, 整数型

局部变量 mask, 整数型

判断开始 (msg = 537)

判断开始 (wp = #DBT_DEVICERARRIVAL) ' 插入设备

复制结构体 (val, lp, 14)

如果真 (valdbcv_devicetype = #DBT_DEVTYP_VOLUME)

mask = valdbcv_unitmask

变量循环首 (0, 25, 1, i)

如果真 (位与 (mask, 1) = 1)

跳出循环 ()

如果真结束

mask = 右移 (mask, 1)

变量循环尾 ()

编辑框1加入文本 (“USB磁盘被插入,盘符:” + 字符 (65 + i) + #换行符)

检测 (字符 (65 + i))

如果真结束

判断 (wp = #DBT_DEVICEREMOVECOMPLETE) ' 删除设备

复制结构体 (val, lp, 14)

如果真 (valdbcv_devicetype = #DBT_DEVTYP_VOLUME)

mask = valdbcv_unitmask

变量循环首 (0, 25, 1, i)

如果真 (位与 (mask, 1) = 1)

跳出循环 ()

如果真结束

mask = 右移 (mask, 1)

变量循环尾 ()

编辑框1加入文本 (“USB磁盘被拔除,盘符:” + 字符 (65 + i) + #换行符)

如果真结束

默认

判断结束

默认

判断结束

返回 (CallWindowProc (a, hwnd, msg, wp, lp))

子程序 __启动窗口_将被销毁

a = SetWindowLong (_启动窗口取窗口句柄 (), -4, a)

子程序 检测

参数 盘符, 文本型

局部变量 fn, 文本型

fn = 寻找文件 (盘符 + “:\”, )

编辑框2内容 = “”

判断循环首 (fn ≠ “”)

编辑框2加入文本 (fn + #换行符)

fn = 寻找文件 (, )

判断循环尾 ()

≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈自定义类型≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈

数据类型 PDEV_BROADCAST_VOLUME

成员 dbcv_size, 整数型, , , 14

成员 dbcv_devicetype, 整数型

成员 dbcv_reserved, 整数型

成员 dbcv_unitmask, 整数型

成员 dbcv_flags, 短整数型

数据类型 _DEV_BROADCAST_HDR

成员 dbch_size, 整数型

成员 dbch_devicetype, 整数型

成员 dbch_reserved, 整数型

≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈常量≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈

常量 WM_DEVICECHANGE, "537", , 驱动盘符被改变

常量 DBT_DEVICEREMOVECOMPLETE, "32772"

常量 DBT_DEVICERARRIVAL, "32768"

常量 DBT_DEVTYP_OEM, "0"

常量 DBT_DEVTYP_DEVNODE, "1"

常量 DBT_DEVTYP_VOLUME, "2"

常量 DBT_DEVTYP_PORT, "3"

常量 DBT_DEVTYP_N, "4"

可以

在程序集里加个子程序指针变量数组

子程序指针变量数组[1]=&子程序1

子程序指针变量数组[2]=&子程序2

在子夹被单击里写

调用子程序(子程序指针变量数组[子夹索引+1])

以上就是关于易语言暂停多个进程全部的内容,包括:易语言暂停多个进程、易语言如何获取手机是否插入电脑 还有拔出、易语言选择夹能不能实现,鼠标单击第一个子夹执行子程序一,单击第二个子夹执行子程序二等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9269946.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存