我有这个代码:
Process internetExplorerProcess = Process.Start("iexplore", "-noframemerging about:blank");
internetExplorerProcess.EnableRaisingEvents = true;
internetExplorerProcess.Exited += OnInternetExplorerProcessExited;
在这种情况下,退出的事件会立即执行。
如果我们将第一行更改为打开网页而不是空白页面:
Process internetExplorerProcess = Process.Start("iexplore", "-noframemerging www.stackoverflow.com");
在某些机器中,exited 事件不会立即运行,可能需要长达 20 秒。
额外的信息:
如果在延迟期间我们打开任务管理器并强制终止 iexplore 事件被触发,似乎某些外部进程阻止了 iexplore 的关闭。
我们使用反恶意软件工具检查了机器,一切正常。