如何设置现有的Explorer.exe实例来选择文件?

Mon*_*ong 8 c#

我可以轻松地打开资源管理器并使用以下选项来选择文件:

string argument = @"/select, " + filePath;
System.Diagnostics.Process.Start("explorer.exe", argument);
Run Code Online (Sandbox Code Playgroud)

但是,当我打开下一个文件时,我将获得一个新的explorer实例.这可能导致我们的用户在密集的一天结束时开放数百名探险家.

如何让它重用已经打开的资源管理器实例来选择我想要的文件?

当您右键单击选项卡并选择打开包含文件夹时,Visual Studio可以执行此操作...提供资源管理器已在同一目录中打开.它是如何做到这一点的?

Ray*_*hen 4

如何使用该对象将资源管理器窗口嵌入到您的应用程序中ExplorerBrowser?这样,IExplorerBrowser::BrowseToObject当您想要显示不同的文件夹时,您可以通过调用不同的文件夹来继续重用该窗口。

尝试重新导航现有的资源管理器窗口是有问题的,因为您不知道当您没有查看时用户对该窗口做了什么。也许他们使用“文件夹”窗格转到其他文件夹,然后您只需将该文件夹从他们下面撕下来并将其发送到其他地方。或者也许他们关闭了它!打开新的资源管理器窗口是一种“一劳永逸”的事情。如果您想保留对窗口的控制,那么您需要进行更明确的控制(例如通过ExplorerBrowser上面)。