【发布时间】:2014-07-24 18:16:07
【问题描述】:
我使用下面的链接并能够成功设置它: http://www.codeproject.com/Articles/26817/Killing-Processes-from-a-Visual-Basic-Application?msg=4868229#xx4868229xx
我想弄清楚如何在 VB.NET 中查看/杀死远程工作站的进程,而不是在本地?有什么想法吗?
我一直在使用 WMI 进行测试,但似乎无法弄清楚并使其正常工作。
这是我的课程代码:
Public Class Form1
Public Sub endprocess(ByVal RemotePC As String, ByVal process As String)
Dim objWMIService As Object
Dim colProcessList As Array
Dim objprocess As Object
Dim response As Boolean
Dim pcname As String = tbRemoteIP.Text
objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & pcname & "\root\cimv2")
process = "'" & process & "'"
colProcessList = objWMIService.ExecQuery("Select * from Win32_Process Where Name = " & "SDM Offline Tool")
For Each objprocess In colProcessList
response = MsgBox("End " & process & " on " & pcname & "?", MsgBoxStyle.YesNoCancel)
If response = vbYes Then
objprocess.Terminate()
Else
Exit Sub
End If
Next
End Sub
我用下面的按钮调用上面的:
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
endprocess("pcname", "SDM Offline Tool")
End Sub
当我尝试在 remotepc (pcname) 上结束 SDM 离线工具进程时遇到 CAST 错误
【问题讨论】:
-
是的,我看到了:但我怎么称呼它?还是我将该代码放在按钮内?
-
将此代码粘贴到您的表单类中,然后在您的按钮处理程序中调用
endprocess("RemotePC", "process")。 -
我更新了我的代码,你能看看,我还是有问题。
-
我的第一个猜测是“SDM Offline Tool”不是您的进程的名称。先用“记事本”试试。