如何查找正在运行的控制台应用程序

时间:2018-01-26 15:07:40

标签: c# console-application

我可以通过此代码查找目标应用当前是否正在运行。但我想找出该应用程序的执行路径。但我无法找到一种方法。请告诉我如何找到执行路径?

static public bool IsProcessRunning(string name)
{
    foreach (Process clsProcess in Process.GetProcesses()) 
    {
        if (clsProcess.ProcessName.Contains(name))
        {
            return true;
        }
    }
    return false;
} 

5 个答案:

答案 0 :(得分:0)

您可以使用以下代码段。

 var process = Process.GetCurrentProcess(); // Or whatever method you are using
 string fullPath = process.MainModule.FileName;

<强>更新

public string GetProcessPath(string name)
{
    Process[] processes = Process.GetProcessesByName(name);

    if (processes.Length > 0)
    {
        return processes[0].MainModule.FileName;
    }
    else
    {
        return string.Empty;
    }
}

答案 1 :(得分:0)

你可以通过。

var executionPath = clsProcess.MainModule.FileName

答案 2 :(得分:0)

尝试MainModule属性

clsProcess.MainModule.FileName

答案 3 :(得分:0)

您应该使用ProcessModule.FileName属性:

var runningDir = System.IO.Path.GetDirectoryName(process.MainModule.FileName);

答案 4 :(得分:0)

处理实例并使用MainModule属性获取位置。

像这样的东西

static public bool IsProcessRunning(string name)
{
   foreach (Process clsProcess in Process.GetProcesses()) 
   {
       if (clsProcess.ProcessName.Contains(name))
          {
            Console.WriteLine(clsProcess.MainModule.FileName);
            return true;
           }
         }
         return false;
}