检测regedit.exe是否打开

问题描述

我知道如何在VB.NET中按标题名称检测窗口,并且有效

If p.MainWindowTitle.Contains("Registry") Then

但是注册表编辑器在每种语言中都有不同的名称,因此如何通过ProcessName检测“ regedit.exe”?

我以这种方式尝试过,但似乎根本不起作用:

If p.ProcessName.Contains("regedit") Then

If p.StartInfo.FileName.Contains("regedit") Then

那么我该如何检测呢?

解决方法

您可以使用方法GetProcessesByName获取所有@OnOpen进程:

regedit.exe

这将返回System.Diagnostics.Process.GetProcessesByName("regedit") 的数组。