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

我正在编写一个应用程序来检查另一个应用程序的退出代码.我正在监视的应用程序可能已在运行,因此我正在使用Process.GetProcessesByName检查它.如果它存在,我在调用WaitForExit后检查退出代码,但是当我这样做时,我得到一个异常:
“此过程未启动过程,因此无法确定所请求的信息.”
如果我启动进程(如果它还没有运行)那么它不会给我异常.
(Windows 8.1)
那么当我没有开始这个过程时,如何找出ExitCode是什么?我能想到的唯一选择是在退出时将输出代码写入文本文件并在…中读取它
解决方法:
System.Diagnostics.Process公开将EnableRaisingEvents设置为true后可以访问的事件:
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


基础教程推荐
猜你喜欢
- C#通过标签软件Bartender的ZPL命令打印条码 2023-05-16
- 实例详解C#实现http不同方法的请求 2022-12-26
- c# – USING块在网站与Windows窗体中的行为不同 2023-09-20
- C#中的Linq to JSON操作详解 2023-06-08
- C#中 Json 序列化去掉null值的方法 2022-11-18
- C#调用摄像头实现拍照功能的示例代码 2023-03-09
- Unity shader实现高斯模糊效果 2023-01-16
- C# 解析XML和反序列化的示例 2023-04-14
- C#获取指定目录下某种格式文件集并备份到指定文件夹 2023-05-30
- Unity 如何获取鼠标停留位置下的物体 2023-04-10