句柄进程关系
本帖最后由 liangxm 于 2013-11-25 11:30 编辑想往一个工具的句柄里面输入信息,但每次都要用窗口信息工具去得到工具的句柄,有没有办法直接从该进程获得句柄?
想问一下,用信息窗口得到的句柄(0x001A06C0)和进程(6816)有没有关系?
qqq~ 善用搜索。Func _GetHwndFromPID($PID)
$hWnd = 0
$stPID = DllStructCreate("int")
Do
$winlist2 = WinList()
For $i = 1 To $winlist2
If $winlist2[$i] <> "" Then
DllCall("user32.dll", "int", "GetWindowThreadProcessId", "hwnd", $winlist2[$i], "ptr", DllStructGetPtr($stPID))
If DllStructGetData($stPID, 1) = $PID Then
$hWnd = $winlist2[$i]
ExitLoop
EndIf
EndIf
Next
Sleep(100)
Until $hWnd <> 0
Return $hWnd
EndFunc ;==>_GetHwndFromPID
知道了,3q~ 哦,另,如果有2个进程,这个怎么破?
Local $PID = ProcessExists("test.exe")
If Not $PID Then
MsgBox(0,$PID,"test")
Exit
EndIf
_GetHwndFromPID($PID) 大概想了一下,ProcessList列出来,一个个丢进_GetHwndFromPID好了。。。不知道还有没有简单方法
页:
[1]