vb.net - 关闭多个同名程序

标签 vb.net winforms process

我的程序的一部分是关闭另一个程序或同名的同一程序...我查找了如何执行此操作并得到了以下代码:

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/

相关文章:

c# - 使用不可选择的项目创建 WinForms ComboBox

linux - 如何在 Linux 中使用命令 'ps' 获取给定进程 ID 的特定进程的信息

asp.net - 从两个数据库表动态创建一个表并绑定(bind)到转发器

mysql - 如何将当前用户设置为下拉列表 ASP.Net 和 VB.Net 应用程序中的默认值

.net - 网络掉线时在网络上使用 FileStream

java - 具有多个 main() 的 JAR——如何从第一个应用程序启动第二个应用程序?

android - 获取单个正在运行的进程开始时间

vb.net - 在 VB.NET 中创建空数组的建议方法是什么?

.net - Windows 窗体的验证控件?

c# - 如何在数据集上运行查询?