2017-03-10 8 views
0

特定のスクリプトを停止するコードはありますか?私はすべてのtaskkillを使用しているスクリプトを終了する方法を見てきました。VBScriptで特定のスクリプトを停止する方法

Option Explicit 
Dim WshShell 
Set WshShell = WScript.CreateObject("WScript.Shell") 
WshShell.Run "taskkill /f /im Cscript.exe", , True 
WshShell.Run "taskkill /f /im wscript.exe", , True 

私は単にwscript.sleepない時に実行されているすべてのスクリプトの中で眠っている一つの特定のスクリプトを終了します。

答えて

0

下記を試してください。あなたは殺すプロセスのプロセスIDを保持する必要があります。以下のコードは、メモ帳を開き、それを殺します。この例では、起動時にスクリプトのProcessIdを取得して終了する方法を示します。

Private Sub KillTest() 
    Dim killCmd 
    Dim pid 

    Set WshShell = CreateObject("WScript.Shell") 
    Set EngineRun = WshShell.Exec("notepad") 
    pid = EngineRun.ProcessID 

    killCmd = "taskkill /pid " & CStr(pid) 
    Set EngineRun = WshShell.Exec(killCmd) 
    Set EngineRun = Nothing 
    Set WshShell = Nothing 
End Sub 
+0

私はVBScriptにあまり知識がありません。 ProcessIdは何を意味しますか?それは私が終了したい特定のコードですか? –

+0

ProcessIDまたはPIDは、オペレーティングシステムが実行中のプロセスに割り当てる一意の識別子です。 Mukulのコードは、あなたのスクリプトを実行する戻り値に 'EngineRun'を' Set'する以外は、あなたのコードと同じでなければなりません。また、それを殺す正しい時間がいつなるかを判断するためには、追加のロジックが必要になります。 –

+0

私のスクリプトを実行する戻り値は何ですか?また、CreateObjectの部分がスクリプトに必要ですか? –

関連する問題