Imports System.ServiceProcess
Imports System.IO
Public Class Service1
Inherits System.ServiceProcess.ServiceBase
Public Shared DailyTime As String = "DailyTime.txt"
Public Shared errlogfile As String = "Error.err"
Protected Overrides Sub OnStart(ByVal args() As String)
Try
Catch ex As Exception
[Error]("OnStart:-" + ex.Message + DateTime.Now.ToString())
End Try
End Sub
Protected Overrides Sub OnStop()
' Add code here to perform any tear-down necessary to stop your service.
End Sub
Protected Overrides Sub OnSessionChange(ByVal changeDescription As SessionChangeDescription)
Try
Select Case changeDescription.Reason
Case SessionChangeReason.SessionLogon
[InsertDailyTime]("Session Logon:-" + DateTime.Now.ToString())
Exit Select
Case SessionChangeReason.SessionLogoff
[InsertDailyTime]("Session Logoff:-" + DateTime.Now.ToString())
Exit Select
Case SessionChangeReason.RemoteConnect
'Remote Connect
Exit Select
Case SessionChangeReason.RemoteDisconnect
'Remote Disconnect
Exit Select
Case SessionChangeReason.SessionLock
[InsertDailyTime]("Session Lock:-" + DateTime.Now.ToString())
Exit Select
Case SessionChangeReason.SessionUnlock
[InsertDailyTime]("Session Unlock:-" + DateTime.Now.ToString())
Exit Select
Case Else
Exit Select
End Select
Catch ex As Exception
[Error]("OnSessionChange:-" + ex.Message + DateTime.Now.ToString())
End Try
End Sub
Public Shared Sub [InsertDailyTime](ByVal message As String)
Dim datewisefile As String = ""
Dim dt As DateTime = DateTime.Now
Dim fs As System.IO.FileStream = Nothing
Dim info As Byte() = Nothing
Try
If Not System.IO.Directory.Exists(Path.GetDirectoryName("D:\Projects\TimeManager")) Then
System.IO.Directory.CreateDirectory(Path.GetDirectoryName("D:\Projects\TimeManager"))
End If
'logfile = logfile.Split('.')[0] + System.DateTime.Now.ToString("yyyyMMddHHmm") + '.' + logfile.Split('.')[1];
datewisefile = ((dt.Year & "") + "-" + (If(dt.Month <= 9, "0" & dt.Month & "", dt.Month & "")) & "") + "-" + (If(dt.Day <= 9, "0" & dt.Day & "", dt.Day & ""))
DailyTime = "\Nik's_" & datewisefile & ".txt"
fs = System.IO.File.Open(Path.GetDirectoryName("D:\Projects\TimeManager") & "\logs" + DailyTime, System.IO.FileMode.Append)
info = New System.Text.UTF8Encoding(True).GetBytes((System.DateTime.Now.ToString() & ":") + message & vbLf)
' fs.Close();
fs.Write(info, 0, info.Length)
fs.Flush()
fs.Close()
fs = Nothing
info = Nothing
Catch ex As Exception
[Error]("InsertDailyTime:-" + ex.Message + DateTime.Now.ToString())
Finally
'GC.SuppressFinalize(Me)
End Try
End Sub
Public Shared Sub [Error](ByVal message As String)
Dim datewisefile As String = ""
Dim dt As DateTime = DateTime.Now
Dim fs As System.IO.FileStream = Nothing
Dim info As Byte() = Nothing
Try
If Not System.IO.Directory.Exists(Path.GetDirectoryName("D:\Projects\TimeManager") & "\logs") Then
System.IO.Directory.CreateDirectory(Path.GetDirectoryName("D:\Projects\TimeManager") & "\logs")
End If
'logfile = logfile.Split('.')[0] + System.DateTime.Now.ToString("yyyyMMddHHmm") + '.' + logfile.Split('.')[1];
datewisefile = ((dt.Year & "") + "-" + (If(dt.Month <= 9, "0" & dt.Month & "", dt.Month & "")) & "") + "-" + (If(dt.Day <= 9, "0" & dt.Day & "", dt.Day & ""))
errlogfile = "\TimeManager_" & datewisefile & ".Log"
fs = System.IO.File.Open(Path.GetDirectoryName("D:\Projects\TimeManager") & "\logs" + errlogfile, System.IO.FileMode.Append)
info = New System.Text.UTF8Encoding(True).GetBytes((System.DateTime.Now.ToString() & ":") + message & vbLf)
' fs.Close();
fs.Write(info, 0, info.Length)
fs.Flush()
fs.Close()
fs = Nothing
info = Nothing
Catch ex As Exception
'Write("Error:"+ex.Message);
Finally
'GC.SuppressFinalize(Me)
End Try
End Sub
End Class