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

上节课通过进程名称获取进程ID,然后再通过进程ID来获取窗口句柄,本课直接通过进程名称来获取窗口句柄,其实是对 进程_名取ID 和 进程_ID取窗口句柄 一个应用组合封装。通过进程名称取得相应的窗口的句柄,成功返回窗口句柄,失败返回0,返回-1表示为找到进程PID

511遇见易语言模块API教程

进程名取ID

511遇见

.版本 2

.子程序 进程_名取ID, 整数型, 公开, 通过进程影像名称来获取进程ID,失败返回 0
.参数 进程名, 文本型, , 要取的进程的名称
.参数 是否区分大小写, 逻辑型, 可空, 为空默认不区分大小写,真为区分大小写
.局部变量 进程快照, 整数型
.局部变量 局_进程信息, 进程信息列表
.局部变量 进程句柄, 整数型

' 参数选2 表示:在快照中包含系统中所有的进程。
进程快照 = CreateToolhelp32Snapshot (2, 0)
.如果真 (进程快照 = 0)
    返回 (0)
.如果真结束
' 初始化进程信息列表
局_进程信息.dwSize = 512
' 获取第一个进程句柄
进程句柄 = Process32First (进程快照, 局_进程信息)
.判断开始 (是否区分大小写)
    .判断循环首 (进程句柄 ≠ 0)
        .如果真 (到文本 (局_进程信息.进程名称) = 进程名)
            CloseHandle (进程快照)
            返回 (局_进程信息.进程ID)
        .如果真结束
        进程句柄 = Process32Next (进程快照, 局_进程信息)
    .判断循环尾 ()
.默认
    .判断循环首 (进程句柄 ≠ 0)
        .如果真 (到小写 (到文本 (局_进程信息.进程名称)) = 到小写 (进程名))
            CloseHandle (进程快照)
            返回 (局_进程信息.进程ID)
        .如果真结束
        进程句柄 = Process32Next (进程快照, 局_进程信息)
    .判断循环尾 ()
.判断结束
CloseHandle (进程快照)
返回 (0)

进程名取句柄 源码

511遇见

.版本 2

.子程序 进程_名取句柄, 整数型, 公开, 通过进程名称取得相应的窗口的句柄,成功返回窗口句柄,失败返回0,返回-1表示为找到进程PID
.参数 进程名, 文本型, , 要获取的窗口句柄的进程名称
.局部变量 pid, 整数型, , , 进程ID
.局部变量 hwnd, 整数型, , , 窗口句柄

pid = 进程_名取ID (进程名, )
.如果真 (pid ≠ 0)
返回 (进程_ID取窗口句柄 (pid, , , ))

.如果真结束
返回 (-1)

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

         易语言模块API教程进程名取句柄

猜你喜欢

转载自blog.csdn.net/zcp528/article/details/106979566
今日推荐