变量名 | 类 型 | 静态 | 数组 | 备 注 |
查找结果 | 整数型 | | 0 |
结果数 | 整数型 | | |
结果数 =
枚举窗口_ (GetDesktopWindow (), 4820,
“Internet Explorer_Server”,
字符 (0
), 真, 查找结果
) 返回 (0
) |
枚举窗口_ | 整数型 | |
|
起始句柄_ | 整数型 | | | |
进程ID_ | 整数型 | | | | 类名_ | 文本型 | | | | 标题_ | 文本型 | | | | 完全查找_ | 逻辑型 | | | | 结果数组_ | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 |
子句柄 | 整数型 | | |
结果 | 整数型 | | |
句柄所属进程ID | 整数型 | | |
句柄类名 | 文本型 | | |
句柄标题 | 文本型 | | |
如果真 (进程ID_ = 0
且 类名_ =
字符 (0
) 且 标题_ =
字符 (0
))
返回 (0
)句柄类名 = 取空白文本 ( #MAX_PATH )句柄标题 =
取空白文本 ( #MAX_PATH )
如果真 (起始句柄_ ≠ 0
)
子句柄 =
GetWindow (起始句柄_,
#GW_CHILD )
判断循环首 (子句柄 ≠ 0
)

结果 =
枚举窗口_ (子句柄, 进程ID_, 类名_, 标题_, 完全查找_, 结果数组_
)

如果真 (结果 ≠ 0
)

返回 (结果
)
GetWindowThreadProcessId (子句柄, 句柄所属进程ID)
GetClassNameA (子句柄, 句柄类名,
#MAX_PATH )
GetWindowTextA (子句柄, 句柄标题,
#MAX_PATH )

判断 (句柄所属进程ID ≠ 0
且 类名_ ≠
字符 (0
) 且 标题_ ≠
字符 (0
))



如果真 (句柄所属进程ID = 进程ID_
且 句柄类名 = 类名_
且 句柄标题 = 标题_
)



判断 (完全查找_
)



加入成员 (结果数组_, 子句柄
)



返回 (子句柄
)










判断 (句柄所属进程ID ≠ 0
且 类名_ ≠
字符 (0
) 且 标题_ =
字符 (0
))



如果真 (句柄所属进程ID = 进程ID_
且 句柄类名 = 类名_
)



判断 (完全查找_
)



加入成员 (结果数组_, 子句柄
)



返回 (子句柄
)










判断 (句柄所属进程ID ≠ 0
且 类名_ =
字符 (0
) 且 标题_ ≠
字符 (0
))



如果真 (句柄所属进程ID = 进程ID_
且 句柄标题 = 标题_
)



判断 (完全查找_
)



加入成员 (结果数组_, 子句柄
)



返回 (子句柄
)










判断 (句柄所属进程ID = 0
且 类名_ ≠
字符 (0
) 且 标题_ ≠
字符 (0
))



如果真 (句柄类名 = 类名_
且 句柄标题 = 标题_
)



判断 (完全查找_
)



加入成员 (结果数组_, 子句柄
)



返回 (子句柄
)










判断 (句柄所属进程ID = 0
且 类名_ =
字符 (0
) 且 标题_ ≠
字符 (0
))



如果真 (句柄标题 = 标题_
)



判断 (完全查找_
)



加入成员 (结果数组_, 子句柄
)



返回 (子句柄
)










判断 (句柄所属进程ID = 0
且 类名_ ≠
字符 (0
) 且 标题_ =
字符 (0
))



如果真 (句柄类名 = 类名_
)



判断 (完全查找_
)



加入成员 (结果数组_, 子句柄
)



返回 (子句柄
)










判断 (句柄所属进程ID ≠ 0
且 类名_ =
字符 (0
) 且 标题_ =
字符 (0
))



如果真 (句柄所属进程ID = 进程ID_
)



判断 (完全查找_
)



加入成员 (结果数组_, 子句柄
)



返回 (子句柄
)















子句柄 = GetWindow (子句柄, #GW_HWNDNEXT )
判断循环尾 ()返回 (取数组成员数 (结果数组_))