鸭子咯咯哒 发表于 2019-4-17 07:18:52

取进程ID数组

本帖最后由 鸭子咯咯哒 于 2019-4-17 07:37 编辑

看看撒:.版本 2

.数据类型 进程信息列表, , 公开
.成员 dwSize, 整数型, , , 1 // 结构大小;
.成员 cntUsage, 整数型, , , 2 // 此进程的引用计数;
.成员 进程ID, 整数型, , , 3 // 进程ID;
.成员 th32DefaultHeapID, 整数型, , , 4 // 进程默认堆ID;
.成员 th32ModuleID, 整数型, , , 5 // 进程模块ID;
.成员 cntThreads, 整数型, , , 6 // 此进程开启的线程计数
.成员 th32ParentProcessID, 整数型, , , 7 // 父进程ID;
.成员 pcPriClassBase, 整数型, , , 8 // 线程优先权;
.成员 dwFlags, 整数型, , , 9 // 保留;
.成员 进程名称, 字节型, , "256", 10 // 进程全名;
.版本 2

.子程序 进程_取ID数组, 整数型, 公开, (成功返回进程ID的数目,没有就返回0)
.参数 进程名称, 文本型, , 进程的名称
.参数 进程ID数组, 整数型, 参考 数组
.参数 区分大小写, 逻辑型, 可空, 默认是不区分大小写的
.局部变量 进程快照, 整数型, , , 进程快照的句柄
.局部变量 进程句柄, 整数型
.局部变量 进程信息, 进程信息列表, , , 类型是自定义的数据类型

清除数组 (进程ID数组)
进程快照 = CreateToolhelp32Snapshot (15, 0)
.如果真 (进程快照 = 0)
返回 (0)
.如果真结束
' 初始化进程信息列表
进程信息.dwSize = 1024
进程句柄 = Process32First (进程快照, 进程信息)
.判断开始 (区分大小写)
.判断循环首 (进程句柄 ≠ 0)
.如果真 (进程名称 = 到文本 (进程信息.进程名称))
加入成员 (进程ID数组, 进程信息.进程ID)
.如果真结束
进程句柄 = Process32Next (进程快照, 进程信息)
.判断循环尾 ()
.默认
.判断循环首 (进程句柄 ≠ 0)
.如果真 (到小写 (进程名称) = 到小写 (到文本 (进程信息.进程名称)))
加入成员 (进程ID数组, 进程信息.进程ID)
.如果真结束
进程句柄 = Process32Next (进程快照, 进程信息)
.判断循环尾 ()
.判断结束
CloseHandle (进程快照)
返回 (取数组成员数 (进程ID数组))

七夜_ 发表于 2019-4-17 08:34:25

{:mad:}{:sweat:}{:sweat:}{:sweat:}
页: [1]
查看完整版本: 取进程ID数组