💰 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
📘备注
无