gpt4 book ai didi

c# - 如何获取正在运行的进程的 ExitCode

转载 作者:太空狗 更新时间:2023-10-30 00:40:37 24 4
gpt4 key购买 nike

我正在编写一个应用程序来检查另一个应用程序的退出代码。我正在监视的应用程序可能已经在运行,所以我正在使用 Process.GetProcessesByName 检查它。如果它存在,我将在调用 WaitForExit 后检查退出代码,但是当我这样做时,我得到一个异常:

“进程不是由此对象启动的,因此无法确定请求的信息。”

如果我启动该进程(如果它尚未运行),那么它不会给我异常。

(Windows 8.1)

那么,当我还没有启动该过程时,我如何找出 ExitCode 是什么?我能想到的唯一选择是在退出时将输出代码写入文本文件并在...中读取...

最佳答案

System.Diagnostics.Process 公开您可以在设置 EnableRaisingEvents 后访问的事件为真:

    int processId = 0; // TODO: populate this variable
var proc = System.Diagnostics.Process.GetProcessById(processId);
proc.EnableRaisingEvents = true;
proc.Exited += ProcessEnded;

事件处理器:

    private void ProcessEnded(object sender, EventArgs e)
{
var process = sender as Process;
if (process != null)
{
var test = process.ExitCode;
}
}

变量测试现在包含退出代码。

在 Windows 8.1 上测试

关于c# - 如何获取正在运行的进程的 ExitCode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25966983/

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