どーもボキです。
指定した名前のプロセスが実行されているかどうか調べるスクリプトです。
どうでもいいことだが、CheckProcess と 動詞+名詞 としようかと思いましたが、
VBScriptでもともと使える、FileExists、ForderExists 関数に合わせてみました。
使い方
- MsgBox ProcessExists("notepad")
- MsgBox ProcessExists("notepad.exe")
実装したソース
'-------------------------------------------------------------------------------
' プロセスが起動しているか調べる
' ProcessName : 対象のプロセス名(notepad.exe等)
'-------------------------------------------------------------------------------
Function ProcessExists(ProcessName)
Dim Service,QfeSet
Set Service = CreateObject("WbemScripting.SWbemLocator").ConnectServer
' Set QfeSet = Service.ExecQuery("Select * From Win32_Process Where Caption='" & ProcessName & "'") ' プロセス名の完全一致が必要
Set QfeSet = Service.ExecQuery("Select * From Win32_Process Where Caption Like '" & ProcessName & "%'") ' 拡張子までの指定が不要
ProcessExists = QfeSet.Count > 0
End Function
[VBScript] 指定した名前のプロセスを強制終了する