【发布时间】:2021-12-17 07:47:27
【问题描述】:
我有一个程序正在打开某个文件夹的资源管理器窗口,但我想在资源管理器窗口关闭后立即执行操作,但如果我使用以下代码:
Process proc = Process.Start("explorer.exe", "D:\\");
proc.WaitForExit();
它正在根据需要打开资源管理器窗口,但 WaitForExit 命令没有任何效果,它只是通过它。
是否有其他打开浏览器窗口的方式可以让我知道它何时被用户关闭?
【问题讨论】:
-
问题是所有窗口和主桌面都有一个 explorer.exe。不知道如何修复它,但也许您可以枚举窗口并找到正确的标题,然后等待该窗口关闭?不过很容易出错。
-
看到这个线程from msdn。如果您将 explorer 作为 shell 运行,您似乎不能。
-
我可以告诉你,等待退出部分不起作用,因为它并没有真正开始一个新进程。某处有“在新进程中打开窗口”的设置,或者曾经有。祝你好运。
标签: c# windows process explorer