我可以通过此代码查找目标应用当前是否正在运行。但我想找出该应用程序的执行路径。但我无法找到一种方法。请告诉我如何找到执行路径?
static public bool IsProcessRunning(string name)
{
foreach (Process clsProcess in Process.GetProcesses())
{
if (clsProcess.ProcessName.Contains(name))
{
return true;
}
}
return false;
}
答案 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;
}