打开已选择指定文件的资源管理器窗口
我有一个应用程序,可以选择在文件所在的文件夹中显示所选文件。 我的问题是,我该如何实现这一目标?
为了澄清,如果我的程序中的用户选择了“Test.txt”文件,那么我想要弹出一个Windows资源管理器窗口并突出显示用户选择的文件。 您可以在LimeWire和uTorrent中看到类似的行为。 如果您在其中任何一个程序中选择一个文件并选择“在文件夹中显示”,它会弹出一个Windows资源管理器窗口,其中突出显示并选择了该文件。 我试图复制这种行为。
我尝试使用以下行:
System.Diagnostics.Process.Start("Explorer");
这将弹出Windows资源管理器窗口,但是,它似乎总是在“我的文档”文件夹中打开。
干得好,
string fileToSelect = @"C:\temp.img"; string args = string.Format("/Select, \"{0}\"", fileToSelect); ProcessStartInfo pfi = new ProcessStartInfo("Explorer.exe", args); System.Diagnostics.Process.Start(pfi);
注意:在{0}
参数之前和之后添加\"
使fileToSelect
字符串包含空格(即”C:\ My Documents“)。
从这个线程:
以编程方式在Windows资源管理器中选择多个文件
干杯,
有一个文档化的API来执行此操作: SHOpenFolderAndSelectItems 。 谁知道,当资源管理器不是默认shell时,它甚至可能做正确的事:)
您可以在字符串中构造文件夹路径,然后将其发送到Windows命令行进行浏览。