gpt4 book ai didi

c# - ProcessStartInfo.WorkingDirectory 属性为空

转载 作者:太空狗 更新时间:2023-10-30 01:20:12 27 4
gpt4 key购买 nike

我正在编写一个保持事件状态的服务来查看进程是否已启动并正在运行。我有几个同名的进程在不同的工作目录中运行。

因此,我想使用 WorkingDirectory属性作为唯一标识符。但是,当我查询所有这些属性时,值为空。

这是一些代码:

foreach (Process process in Process.GetProcesses())
if (!string.IsNullOrWhiteSpace(process.StartInfo.WorkingDirectory))
Console.WriteLine("Winning!!!");

不用说,我没有赢。

最佳答案

使用 Process.MainModuleProcessModule.FileName 属性。

foreach (Process process in Process.GetProcesses())
{
string executableFilePath = process.MainModule.FileName;
string executableDirectory = Path.GetDirectoryName(executableFilePath);
}

请注意,进程可能随时退出。如果恰好在进程退出(或已经退出)时查询进程的 MainModule,则会抛出异常。

关于c# - ProcessStartInfo.WorkingDirectory 属性为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19998516/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com