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

视频链接

511遇见易语言模块API教程

思路:

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

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

.版本 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数组 源码

.版本 2.子程序 进程_取ID数组, 整数型, 公开, (成功返回进程ID的数目,没有就返回0)
.参数 进程名称, 文本型, , 进程的名称
.参数 进程ID数组, 整数型, 参考 数组
.参数 区分大小写, 逻辑型, 可空, 默认是不区分大小写的
.局部变量 进程快照, 整数型, , , 进程快照的句柄
.局部变量 进程句柄, 整数型
.局部变量 进程信息, 进程信息列表, , , 类型是自定义的数据类型清除数组 (进程ID数组)
进程快照 = CreateToolhelp32Snapshot (15, 0)
.如果真 (进程快照 = 0)
返回 (0)
.如果真结束
' 初始化进程信息列表
进程信息.dwSize = 1024
进程句柄 = Process32First (进程快照, 进程信息)
.判断开始 (区分大小写)
.判断循环首 (进程句柄 ≠ 0)
.如果真 (进程名称 = 到文本 (进程信息.进程名称))
加入成员 (进程ID数组, 进程信息.进程ID)
.如果真结束
进程句柄 = Process32Next (进程快照, 进程信息)
.判断循环尾 ()
.默认
.判断循环首 (进程句柄 ≠ 0)
.如果真 (到小写 (进程名称) = 到小写 (到文本 (进程信息.进程名称)))
加入成员 (进程ID数组, 进程信息.进程ID)
.如果真结束
进程句柄 = Process32Next (进程快照, 进程信息)
.判断循环尾 ()
.判断结束
CloseHandle (进程快照)
返回 (取数组成员数 (进程ID数组))

易语言调用源码:

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

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

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

  1. 511遇见易语言API模块制作进程取程序路径

    易语言API模块制作进程取程序路径,提高进程的PID获取程序的所在路径. 视频链接: 511遇见易语言模块API教程 进程_取程序路径 1.CreateToolhelp32Snapshot 快照句柄 ...

  2. 511遇见易语言API模块视频教程取所有子窗口句柄

    取所有子窗口句柄的意思就是取指定窗口的下一级子窗口的句柄,通过两种方法来封装.用到的API是FindWindowExA. 视频链接: 511遇见易语言模块API教程 取所有子窗口句柄 方法一源码 .版 ...

  3. 易语言取java路径模块_易语言API模块制作进程取程序路径

    易语言API模块制作进程取程序路径,提高进程的PID获取程序的所在路径. 进程_取程序路径 1.CreateToolhelp32Snapshot 快照句柄 = CreateToolhelp32Snap ...

  4. 511遇见易语言API模块进程创建CreateProcess

    封装进程创建的原因主要是易语言自带的运行和执行命令不能启动游戏,当我们写一键启动,批量启动游戏时,便用到了进程_创建的命令.易语言里的运行(),执行()有时候并不能直接运行一些游戏,而采用进程创建才可 ...

  5. 511遇见易语言API模块进程ID取窗口句柄

    通过进程ID取得该进程的窗口句柄,超时的时候返回 0 511遇见易语言模块API教程 FindWindowExA .版本 2.DLL命令 FindWindowExA, 整数型, "user3 ...

  6. 易语言取java路径模块,511遇见易语言API模块进程创建CreateProcess

    封装进程创建的原因主要是易语言自带的运行和执行命令不能启动游戏,当我们写一键启动,批量启动游戏时,便用到了进程_创建的命令.易语言里的运行(),执行()有时候并不能直接运行一些游戏,而采用进程创建才可 ...

  7. 511遇见易语言API模块通过进程名获取进程句柄

    上节课通过进程名称获取进程ID,然后再通过进程ID来获取窗口句柄,本课直接通过进程名称来获取窗口句柄,其实是对 进程_名取ID 和 进程_ID取窗口句柄 一个应用组合封装.通过进程名称取得相应的窗口的 ...

  8. 511遇见易语言API模块线程创建许可证(InitializeCriticalSection)

    许可证是易语言特有的一次词语,我们首先了解一下许可证的作用,务必指定什么时候使用许可证,在那个地方使用许可证.易语言多线程许可证的几点理解 1.许可证的添加一般是子程序变量或者是全局变量 2.一般用许 ...

  9. 511遇见易语言API模块线程初始化com库(CoInitialize)

    首先了解一下com组件,这样我们才能明白初始化com库的作用,用到两个API:CoInitialize,CoInitializEX 一.什么是COM组件 1.COM是Component Object ...

最新文章

  1. html无序列表空心圆_列表样式的使用CSS入门基础(018)
  2. C++之编码问题(Unicode,ASCII,本地默认)
  3. 跨链(6)波卡Polkadot “系统框架”
  4. linux之dos2unix命令解决vi打开文件行尾巴显示^M
  5. 手机网页里的模态对话框
  6. Signals Slots(Qt5)
  7. 对象调用方法方法及其call调用
  8. SpringMVC→拦截器、SpringMVC拦截器实现、多个拦截器工作原理、拦截器使用场景、拦截器Interceptor与过滤器Filter区别
  9. 大众点评_token及登录分析
  10. 小车--雷神、velodyne 雷达使用(IP)
  11. IDEA 常用插件安装
  12. 关于记忆的10个惊人事实
  13. VSCode中设置ArcGIS python工具箱.pyt文件代码高亮
  14. Lonlife-ACM 1010 - Alarm(找规律+素数打表)
  15. 安防行业安全产品分类、趋势分析
  16. 没有一个真正歌手的时代,没有一首好歌的年代
  17. 如何用Python找出英语和汉语中特定词性的单词
  18. 软考-法律法规和标准化
  19. Android+jenkins自动打包教程
  20. OpenCV3.3.0 + CLion + CMake 配置(Mac巨细无敌版)

热门文章

  1. UAV-PPK数据处理软件使用
  2. 解决暴风影音播放rmvb的插件
  3. 机器学习算法---微积分与矩阵
  4. android计步器进度条,计步用进度条效果很棒
  5. 2021年美容师(初级)考试及美容师(初级)最新解析
  6. Win10 减少内存占用; google浏览器器减少CPU占用
  7. 用友软件首席架构师   黄义璋
  8. 模式识别报告:HWDB1.1手写汉字识别
  9. 计算机磁盘碎片产生原因及处理方法,电脑不定期清理磁盘碎片,会导致出现这些问题...
  10. 瓦.替代_20190505