ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

511遇见易语言API模块视频教程进程取ID数组

2020-06-27 16:40:19  阅读:318  来源: 互联网

标签:快照 句柄 整数型 进程 API 数组 511 ID 易语言


本课是完成大漠多线程的必须写封装的命令,因为线程我们要同时获取多个窗口的句柄,那么我们可以先获取多个窗口的进程ID数组,再根据进程ID分别获取窗口句柄。

视频链接

<iframe allowfullscreen="true" data-mediaembed="youku" frameborder="0" id="zLmik1Sw-1593147450781" src="https://player.youku.com/embed/XMzAwMTE0ODg5Ng=="></iframe>

511遇见易语言模块API教程

思路:

1、进程名称是不变的,每个进程名称对应唯一的PID(进程ID)
2、 多开就要获得每个进程ID,然后通过 进程_ID取窗口句柄 获取每个进程的 句柄,有了句柄就可以绑定了
用到的API
1、CreateToolhelp32Snapshot(创建进程快照)
2、Process32First(取第一个进程)
3、Process32Next(取下一个进程)
4、CloseHandle(关闭一个内核对象)

用到自定义数据类型(进程信息列表)

511遇见

.版本 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 // 进程全名;

进程_取ID数组 源码

511遇见

.版本 2

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

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

易语言调用源码:

511遇见

参考:易语言模块API制作系列视频教程

         易语言模块API视频教程进程取ID数组

标签:快照,句柄,整数型,进程,API,数组,511,ID,易语言
来源: https://blog.csdn.net/zcp528/article/details/106968719

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有