跳到主要内容

💰 EnumWindowByProcessId PID枚举窗口

🎯功能

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

📜语法

结果 = dm.EnumWindowByProcessId(PID, 标题, 类名, 过滤条件)

📥参数

参数数据类型解释
PID整型数进程PID
标题字符串窗口标题. 此参数是模糊匹配
类名字符串窗口类名. 此参数是模糊匹配
过滤条件整型数过滤窗口方式, 取值见下表
参数过滤条件取值介绍

参数过滤条件值 | 解释 ---:|:------:|:--- 1 | 匹配窗口标题,参数标题有效 2 | 匹配窗口类名,参数类名有效 4 | 只匹配指定映像的所对应的第一个进程. 可能有很多同映像名的进程,只匹配第一个进程的 8 | 匹配父窗口为0的窗口,即顶级窗口 16 | 匹配可见的窗口

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

📤返回

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

💡示例

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

📘备注