更新
我有一个与Process.Start();
我的程序将文件作为进程启动相关的问题,如下所示:
Process processMonitor = new Process();
processMonitor.StartInfo.FileName = filePath; // Example: @"C:\test.txt"
processMonitor.StartInfo.CreateNoWindow = true;
processMonitor.Exited += new EventHandler(Process_Exited);
processMonitor.EnableRaisingEvents = true;
processMonitor.Start();
// Handle Exited event and display process information.
private void Process_Exited(object sender, EventArgs e)
{
// This code is called on every exit, except images: (Windows Photo Viewer, *jpg, *png, *bmp etc.)
}
这成功地启动了一个带有正确文件的进程 notepad.exe。捕捉 Exited 事件也有效,所以基本上我已经准备好监控进程的关闭事件。
现在的问题...
当做完全相同的事情时,但现在是一个图像:
processMonitor.StartInfo.FileName = filePath; // Example: @"C:\test.jpg"
这不成功..进程完美启动,但我无法检测到进程是否关闭。一项小研究向我展示了一个名为:
DLLHOST.EXE(COM 代理)
已启动,我无法检测到此进程的 Exited 事件。
任何人都可以帮助我,或者至少指出我正确的方向吗?