gpt4 book ai didi

c# - Process.Exited 并不总是触发

转载 作者:可可西里 更新时间:2023-11-01 08:34:26 25 4
gpt4 key购买 nike

如果我运行以下代码:

Process myProcess = new System.Diagnostics.Process();
myProcess.StartInfo.FileName = "notepad.exe";
myProcess.EnableRaisingEvents = true;
myProcess.Exited += new System.EventHandler(Process_OnExit);
myProcess.Start();

public static void Process_OnExit(object sender, EventArgs e)
{
// Delete the file on exit
}

当我退出记事本时引发该事件。如果我尝试相同的代码,但我改为启动图像:

Process myProcess = new System.Diagnostics.Process();
myProcess.StartInfo.FileName = @"C:\Users\Public\Pictures\Sample Pictures\Desert.jpg";
myProcess.EnableRaisingEvents = true;
myProcess.Exited += new System.EventHandler(Process_OnExit);
myProcess.Start();

public static void Process_OnExit(object sender, EventArgs e)
{
// Delete the file on exit
}

事件永远不会被触发。是因为加载图像的过程永远不会关闭吗?

更新:启动的进程并不总是图像。它可以是任何东西(pdf、word 文档等)。也许我的方法不对。用户退出进程后,还有其他方法可以删除文件吗?

谢谢

最佳答案

您应该为流程启用引发事件。

process_name.EnableRaisingEvents = true;

关于c# - Process.Exited 并不总是触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2162464/

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