Public Class XSP_SERVICE
Private mProc As System.Diagnostics.Process
Dim mTimerDelegate As System.Threading.TimerCallback
Dim mTimer As System.Threading.Timer
Protected Overrides Sub OnStart(ByVal args() As String)
' サービスを開始するコードをここに追加します。このメソッドによって、
' サービスが正しく実行されるようになります
Dim procInfo As New System.Diagnostics.ProcessStartInfo()
procInfo.WorkingDirectory = 「カレントディレクトリ」
procInfo.FileName = 「XSP.exe のフルパス」
procInfo.Arguments = 「パラメータ」
procInfo.CreateNoWindow = True
procInfo.UseShellExecute = False
procInfo.ErrorDialog = True
procInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Minimized
mProc = System.Diagnostics.Process.Start(procInfo)
'タイマーを作る
mTimerDelegate = New System.Threading.TimerCallback(AddressOf timer_tick)
mTimer = New System.Threading.Timer(mTimerDelegate, Nothing, 0, 1000)
End Sub
Protected Overrides Sub OnStop()
' サービスを停止するのに必要な終了処理を実行するコードをここに追加します。
Try
mProc.Kill()
mProc.Close()
Catch ex As Exception
End Try
End Sub
Private Sub timer_tick(o As Object)
If (mProc.HasExited) Then
Dim procInfo As New System.Diagnostics.ProcessStartInfo()
procInfo.WorkingDirectory = 「カレントディレクトリ」
procInfo.FileName = 「XSP.exe のフルパス」
procInfo.Arguments = 「パラメータ」
procInfo.CreateNoWindow = True
procInfo.UseShellExecute = False
procInfo.ErrorDialog = True
procInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Minimized
mProc = System.Diagnostics.Process.Start(procInfo)
End If
End Sub
End Class
|