VBScript 二重起動抑制とバッチ雛形です。
'◆メイン処理呼び出し
Call CheckDualExec()
Call Main()
'◇メイン処理
Sub Main()
'ここにメインの処理を記述
Call Msgbox ("メッセージ表示中")
'メイン処理終了
Exit Sub
End Sub
'◇二重起動抑制
Sub CheckDualExec
Dim objSWbemLocator
Dim objServices
Dim objProcess
Dim objProcesses
Dim first
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objServices = objSWbemLocator.ConnectServer(".", "root\cimv2")
Set objProcesses = objServices.ExecQuery("SELECT * FROM Win32_Process")
first = False
For Each objProcess In objProcesses
If WScript.FullName = objProcess.ExecutablePath Then
If Instr( objProcess.CommandLine , WScript.ScriptFullName ) > 0 Then
If Not first Then
first = True
Else
'プロセス終了
WScript.Quit
End If
End If
End If
Next
End Sub
タグ:VBScript