我的程序的一部分是关闭另一个程序或同名程序...我查找了如何执行此操作并获得此代码:
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
声明中收到一条错误消息:
{“对象引用未设置为对象的实例。”}
有谁知道上面的代码有什么问题?
更新:其中一些答案似乎有效:)谢谢。然而,有一个小问题,因为有时程序直到大约30秒才加载(记事本只是为了简单而放在那里)所以我需要代码来关闭PROCESS而不是加载时的实际程序。
希望你能理解xD ^^^^
答案 0 :(得分:2)
显然你宣布了myprocesses()
但null
,所以为了完成你的任务,你必须使用GetProcessesByName
For Each process1 As Object In Process.GetProcessesByName("Notepad")
process1.Kill()
Next
但这是管理.exe
process的正确方式。
答案 1 :(得分:1)
在按钮点击事件中尝试以下代码:
Dim myProc As System.Diagnostics.Process
For Each myProc In System.Diagnostics.Process.GetProcesses
Console.WriteLine(myProc.MainWindowTitle)
If myProc.MainWindowTitle.ToUpper.Contains("NOTEPAD") Then
myProc.CloseMainWindow()
End If
Next