c# - 打开资源管理器窗口并选择指定的文件

标签 c# .net shell windows-explorer

我有一个应用程序可以选择显示文件所在文件夹中的选定文件。我的问题是,如何实现这一目标?

澄清一下,如果我的程序中的用户选择了“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”)。

来自这个线程:
Programmatically select multiple files in windows explorer

干杯,

关于c# - 打开资源管理器窗口并选择指定的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3887364/

相关文章:

c# - C# 中的属性是否使用反射?

linux - 递归查找所有不以注释开头的php文件

c# - Entity Framework 多对多关系初始化 ICollection

c# - 打开/处理 Word 文档,如 SharePoint

c# - Debug.Write 不工作

.net - x64 计算机可以同时安装 x86 和 x64 .net 运行时吗?

c# - 在Gridview中上传文件,完成后在同一行显示

c# - EF Core 2.1 RC 1 GroupBy 仍在本地评估

regex - 多个文件上的 Linux shell

linux - 如何在 linux 中最后一次出现特定命令之前运行所有命令