如何通过PID定位进程?我有同一个程序的多个实例同时处于活动状态,但我的代码仅适用于一个。我想针对所有实例。
那么放置PID(我的意思是第一行)或者如何区分多个实例呢?
Global $WindowTitle = "World of Warcraft"
Global $PauseKey = "{F7}"
Global $TerminateKey = "{F8}"
Global $PVPOpenKey = "{h}"
Global $MacroBindKey = "{8}{a}"
Global $Paused = False
HotKeySet( $PauseKey, "Pause" )
HotKeySet( $TerminateKey, "Terminate" )
While 1
If Not $Paused Then
ControlSend( $WindowTitle, "", 0, $PVPOpenKey )
Sleep( 5000 )
ControlSend( $WindowTitle, "", 0, $MacroBindKey )
EndIf
Sleep( 500 )
WEnd
Func Pause()
$Paused = Not $Paused
EndFunc
Func Terminate()
Exit
EndFunc
答案 0 :(得分:5)
为了获得某些流程的所有PID,您可以使用ProcessList()
。
; List PIDs for wow.exe processes
$list = ProcessList("wow.exe")
For $i = 1 To $list[0][0]
MsgBox(0, "Hi!", $list[$i][1])
Next