怎么得到任何一个窗口所有的控件(子窗口)的句柄(已解决)
本帖最后由 siton 于 2014-6-17 18:59 编辑怎么得到一个窗口所有的控件的句柄,如题。
像按键精灵里,有这个功能的插件,
刚接触AUTOIT,,求解。 没人回吗。
高手来哦。 兄弟!只能获取窗口或控件单句柄!不能一口气全部获取!你可以获取一个一个的然后合并一起!就可以答到你的效果了! 试试这样?
#include <WinAPI.au3>
#include <Array.au3>
Opt('MustDeclareVars', 1)
_Main()
Func _Main()
Local $aWindows,$aWindowss ,$i, $n,$pid
$aWindows = _WinAPI_EnumWindowsTop()
For $i = 1 To $aWindows
Local $avArray
$pid = WinGetProcess($aWindows[$i])
$aWindowss = _WinAPI_EnumWindows()
For $n = 1 To $aWindowss
If WinGetProcess($aWindowss[$n]) = $pid Then
_ArrayAdd($avArray, $aWindowss[$n])
EndIf
Next
_ArrayDisplay($avArray, "PID:"&WinGetProcess($aWindows[$i]))
Next
EndFunc ;==>_Main 楼上高手正解。感谢。
我在论坛上搜索到了另一种,也是可以。
#Include <Array.au3>
#include <Process.au3>
#Include <WinAPIEx.au3>
Opt('MustDeclareVars', 1)
Global $Processid = ProcessList("要获取的窗口程序.exe")
Global $aWindows,$i
$aWindows = _WinAPI_EnumProcessWindows($Processid, FALSE)
Global $i = $aWindows
Global $aWindows2,$i2
$aWindows2 = _WinAPI_EnumChildWindows ($i, FALSE)
_ArrayDisplay($aWindows2, '枚举指定窗口子句柄')
_WinAPI_EnumChildWindows关键函数 本帖最后由 zps26 于 2016-4-9 15:09 编辑
回复 5# siton
怎么得到任何一个窗口所有的控件(子窗口)的句柄(已解决)
页:
[1]