gpt4 book ai didi

c# - 打开资源管理器窗口并等待它关闭

转载 作者:可可西里 更新时间:2023-11-01 14:41:32 25 4
gpt4 key购买 nike

我有一个程序正在打开某个文件夹的资源管理器窗口,但我想在资源管理器窗口关闭后立即执行操作,但是如果我使用以下代码:

Process proc = Process.Start("explorer.exe", "D:\\");
proc.WaitForExit();

它正在按需要打开资源管理器窗口,但 WaitForExit 命令没有效果,它只是从它旁边经过。

是否有不同的打开资源管理器窗口的方式,当用户关闭它时能够让我知道?

最佳答案

这个问题在 The Old New Thing 上有很好的解释:

The reason that WaitForSingleObject returns immediately is that Explorer is a single-instance program (well, limited-instance). When you open an Explorer window, the request is handed off to a running copy of Explorer, and the copy of Explorer you launched exits. That's why your WaitForSingleObject returns immediately.

他提供了一些您可能会使用的解决方案(大量使用 PInvoke),例如使用 this 之类的东西。

最后,使用某些其他类型的文件浏览器可能会更容易,这些文件浏览器可能来自某个您可以更好控制的 C# 库,而不是资源管理器。

关于c# - 打开资源管理器窗口并等待它关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6156327/

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