Here is what I am trying to do is create a service that checks if Microsoft Lync is running. If it's running then do nothing but write to eventlog. If it's not running run the exe and then log in to Lync. The problem I am getting is when it comes time to run the exe, it would go and start the process but it never actually runs the app. I tried to see if would work with notepad but all it did was create the process in task manager but never opened the actual app.
Imports System
Imports System.Data
Imports System.Timers
Imports System.Diagnostics
Imports System.Data.SqlClient
Imports System.ServiceProcess
Imports System.Windows.Forms
Public Class Service1
Protected Overrides Sub OnStart(ByVal args() As String)
EventLog.WriteEntry("In Onstart", "starting timer")
Timer1.Start()
End Sub
Protected Overrides Sub OnStop()
End Sub
Private Sub Timer1_Elapsed(ByVal sender As System.Object,
ByVal e As System.Timers.ElapsedEventArgs) Handles Timer1.Elapsed
If IsProcessRunning("communicator") Then
EventLog.WriteEntry("no problem")
Else
EventLog.WriteEntry("not running")
Dim info As New ProcessStartInfo("C:\Program Files (x86)\Microsoft Lync\communicator.exe")
info.UseShellExecute = False
info.RedirectStandardError = True
info.RedirectStandardInput = True
info.RedirectStandardOutput = True
info.CreateNoWindow = True
info.ErrorDialog = False
info.WindowStyle = ProcessWindowStyle.Hidden
Dim process__1 As Process = Process.Start(info)
End If
End Sub
Public Function IsProcessRunning(ByVal name As String) As Boolean
For Each clsProcess As Process In Process.GetProcesses()
If clsProcess.ProcessName.StartsWith(name) Then
Return True
End If
Next
Return False
End Function
End Class