1

現在、リモート マシン上のプロセスを終了させる AutoIT コードがいくつかありますが、プロセスが最初に実行されているかどうかを確認するチェックを追加する方法を見つける必要があります。AutoITフォーラムとグーグルをふるいにかけるのにしばらく時間を費やした後、私は途方に暮れています。これが私が現在持っているものです:

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()
4

1 に答える 1

1

ここで例を確認することをお勧めします。AutoIT を介して WMI を使用して、リモートで実行されているプロセスのリストを取得し、関心のあるプロセスをフィルター処理するさまざまな方法があります。

または、AutoIT を介して PSList を呼び出すことも有効です。

于 2012-12-19T17:07:28.320 に答える