2012-12-19 91 views
1

我目前有一些AutoIT代碼會終止遠程計算機上的進程,但我需要找到一種方法來添加檢查以查看進程是否先運行。花了一些時間篩選AutoIT論壇和谷歌之後,我很茫然。以下是我目前有:AutoIT檢查如果進程在遠程PC上運行

Func EndProc() 
$oWMIService = ObjGet("winmgmts:\\" & $ipAddress & "\root\CIMV2") 

If Not IsObj($oWMIService) Then 
    MsgBox(48, "ERROR", "Couldn't locate the computer. Please make sure you've selected the correct computer and try again.") 
    Return 
EndIf 

Dim $handle, $colProc, $cProc 
$cProc = $oWMIService.ExecQuery('SELECT * FROM Win32_Process WHERE Name = "' & $ProcessToKill & '"') 

For $oProc In $cProc 
    $oProc.Terminate() 
Next 
If $handle Then 
    Return $handle 
Else 
    Return 0 
EndIf 
EndFunc ; Func EndProc() 
+0

您是否在尋找是否有效的確認?還是有改進的建議?請澄清。 –

+0

我道歉我不清楚。我知道上面的代碼有效。我正在查看是否有人可以幫助我添加一個檢查,看看我想殺死的進程是否先運行,然後再嘗試終止進程。那有意義嗎? – JJennings

回答

1

您可能要檢查出的例子here,有許多不同的方式來使用WMI通過AutoIt的檢索對那些你遠程和過濾器運行的進程的列表關心。

或者,通過AutoIT調用PSList也可以證明有用。

+0

這讓我失去了正確的道路,我很欣賞它。謝謝保羅。 – JJennings

相關問題