konradwalsh
New member
- Joined
- Oct 25, 2012
- Messages
- 3
- Programming Experience
- 1-3
Hi
I have searched and search for this answer but everything I try errors out.
I am trying to use WMI to check a Remote/Local network pc if a process is running. If it is, I want to kill the process.
Situation is that we have software that is used in the company called Alliance. We have 10 seats rolling seats. However only 2/3 people need to be in there all day. The problem is when the others use it, they use it for 5 minutes and then leave it open thus blocking others from using it. Then IT gets a call to say they cant get in.
I built a form that the user types in the offending pc name and clicks a check button. It checks if its running on the remote machine and returns an answer. This works 100%.
I then have a button made visible to kill the offending process but i cannot get that part to work.
I would appreciate any direction.
Here is my code so far:
	
	
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
	
		
			
		
		
	
				
			I have searched and search for this answer but everything I try errors out.
I am trying to use WMI to check a Remote/Local network pc if a process is running. If it is, I want to kill the process.
Situation is that we have software that is used in the company called Alliance. We have 10 seats rolling seats. However only 2/3 people need to be in there all day. The problem is when the others use it, they use it for 5 minutes and then leave it open thus blocking others from using it. Then IT gets a call to say they cant get in.
I built a form that the user types in the offending pc name and clicks a check button. It checks if its running on the remote machine and returns an answer. This works 100%.
I then have a button made visible to kill the offending process but i cannot get that part to work.
I would appreciate any direction.
Here is my code so far:
			
				VB.NET:
			
		
		
		Public Class AllianceCtrl
    Dim strProcess As String
    Dim myP As System.Diagnostics.Process
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnCheck.Click
        Dim strAllianceState As String = ""
        Dim strComputer As String = txtPCNAME.Text.ToUpper
        Do
            strProcess = "ALLIANCEMFG.EXE"
        Loop Until strProcess <> ""
        Do
        Loop Until strComputer <> ""
        myP() = Process.GetProcessesByName(strProcess)
        If (IsProcessRunning(strComputer, strProcess) = True) Then
            myP.Kill()
            strAllianceState = "Alliance is running on " & ControlChars.NewLine & strComputer
            lblAllianceStatus.Text = strAllianceState
            lblAllianceStatus.ForeColor = Color.Red
            btnCloseAlliance.Visible = True
            btnCloseAlliance.Text = "Close Alliance On " & ControlChars.NewLine & strComputer
        Else
            strAllianceState = " Alliance is not running on " & ControlChars.NewLine & strComputer
            lblAllianceStatus.Text = strAllianceState
            lblAllianceStatus.ForeColor = Color.Green
            btnCloseAlliance.Visible = False
        End If
    End Sub
 
  
    Private Sub btnCloseAlliance_Click(sender As Object, e As EventArgs) Handles btnCloseAlliance.Click
       
        myP.Kill()
        myP.CloseMainWindow()
        'If myP.ProcessName = Me.strProcess Then
        '    myP.Kill()
        'End If
    End Sub
    Function IsProcessRunning(ByVal strServer, ByVal strProcess)
        Dim Process, strObject
        IsProcessRunning = False
        strObject = "winmgmts://" & strServer
        For Each Process In GetObject(strObject).InstancesOf("win32_process")
            If UCase(Process.name) = UCase(strProcess) Then
                IsProcessRunning = True
                Exit Function
            End If
        Next
    End Function
    Private Sub btnExit_Click(sender As Object, e As EventArgs) Handles btnExit.Click
        Me.Close()
    End Sub
End Class 
	 
 
		 
 
		 
 
		 
 
		