我正在为一家软件公司编程 我们公司有一个叫做(通用组件命令)ccc.exe的应用程序。此应用程序用于向Microsoft IIS服务器发送命令。
现在,在我的程序中,我想检测运行此进程(ccc.exe)。
在此之后我使用这种方法:
private bool IsProcessRunning(string processName)
{
Process[] pname = Process.GetProcessesByName(processName);
if (pname.Length == 0)
return false;
else
return true;
}
但不幸的是,他们运行系统进程的计算机名为CCC.EXE(来自ATI Technologies)。
它正在启动时运行。如果我使用此方法,它将返回一个错误的值,因为它们具有相同的名称。
那么,如何从ccc.exe * 32识别CCC.EXE(系统文件)?
答案 0 :(得分:1)
您可以尝试查看Process.MainModule属性:
Process[] pname = Process.GetProcessesByName(processName);
if (pname.Any(x => x.MainModule.FileName == "the path to the ccc.exe"))
{
return true;
}
return false;
注意:请注意,我有时会在查看Process对象时发现,由于安全权限,在DEV中工作的东西并不总是在生产中工作。