我的程序的一部分是关闭另一个程序或同名的同一程序...我查找了如何执行此操作并得到了以下代码:
Dim myprocesses() As Process
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
For Each p As Process In myprocesses
If p.MainWindowTitle.Contains("notepad") Then
p.CloseMainWindow()
End If
Next
End Sub
它应该可以工作,但是当我运行它时,我在 Next
语句中收到一条错误消息:
{"Object reference not set to an instance of an object."}
有人知道上面的代码有什么问题吗?
更新:其中一些答案似乎有效:) 谢谢。然而,有一个小问题,因为有时程序要到大约 30 秒才会加载(为了简单起见,只是将记事本放在那里),所以我需要代码来关闭 PROCESS,而不是加载时的实际程序。
希望你能理解xD^^^^
最佳答案
显然,您声明了 myprocesses()
但 null
,因此要完成您的任务,您必须使用 GetProcessesByName
For Each process1 As Object In Process.GetProcessesByName("Notepad")
process1.Kill()
Next
但这是管理 .exe
的正确方法 process 。
关于vb.net - 关闭多个同名程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14552584/