从应用程序检测正在运行进程的系统文件

本文关键字:进程 系统文件 运行 应用程序 检测 | 更新日期: 2023-09-27 18:11:13

我在一家软件公司编程。
我们公司有一个应用程序叫做(通用组件命令)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技术)。

它在启动时运行。如果我使用这个方法,它会返回一个错误的值,因为它们有相同的名字。

那么,我如何从CCC.EXE *32中识别CCC.EXE(系统文件)?

从应用程序检测正在运行进程的系统文件

您可以尝试查看流程。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中工作的东西并不总是在生产中工作。