跳到主要内容

💰 EnumWindowByProcess 进程枚举窗口

🎯功能

根据指定进程以及其它条件,枚举系统中符合条件的窗口,可以枚举到按键自带的无法枚举到的窗口

📜语法

结果 = dm.EnumWindowByProcess(进程, 标题, 类名, 过滤条件)

📥参数

参数数据类型解释
进程字符串进程映像名.比如("svchost.exe"). 此参数是精确匹配,但不区分大小写
标题字符串窗口标题. 此参数是模糊匹配
类名字符串窗口类名. 此参数是模糊匹配
过滤条件整型数过滤窗口方式, 取值见下表
参数过滤条件取值介绍

参数过滤条件值 | 解释 ---:|:------:|:--- 1 | 匹配窗口标题,参数标题有效 2 | 匹配窗口类名,参数类名有效 4 | 只匹配指定映像的所对应的第一个进程. 可能有很多同映像名的进程,只匹配第一个进程的 8 | 匹配父窗口为0的窗口,即顶级窗口 16 | 匹配可见的窗口 32 | 💰付费功能, 匹配出的窗口按照窗口打开顺序依次排列

这些值可以相加,比如4+8+16就是类似于任务管理器中的窗口列表

📤返回

字符串, 返回所有匹配的窗口句柄字符串,格式"hwnd1,hwnd2,hwnd3"

💡示例

hwnds = Split(dm.EnumWindowByProcess("game.exe","天龙八部","",1+8+16), ",")
If Ubound(hwnds)>0 Then
For i = 0 to Ubound(hwnds)
hwnds(i) = CLng(hwnds(i))
Next
Else
MessageBox "未找到窗口句柄"
End If

📘备注