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

时间:2014-07-01 19:37:06

标签: c# windows

我正在为一家软件公司编程 我们公司有一个叫做(通用组件命令)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(系统文件)?

1 个答案:

答案 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中工作的东西并不总是在生产中工作。