打开文件所在位置

时间:2012-03-10 11:37:57

标签: c# winforms file

在Windows资源管理器中搜索文件并右键单击搜索结果中的文件时;有一个选项:“打开文件位置”。我想在我的C#WinForm中实现相同的功能。我这样做了:

if (File.Exists(filePath)
{
    openFileDialog1.InitialDirectory = new FileInfo(filePath).DirectoryName;
    openFileDialog1.ShowDialog();
}

有没有更好的方法呢?

2 个答案:

答案 0 :(得分:40)

如果openFileDialog_ViewOpenFileDialog,那么您只会收到一个提示用户打开文件的对话框。我假设你想要在浏览器中打开这个位置。

你会这样做:

if (File.Exists(filePath))
{
    Process.Start("explorer.exe", filePath);
}

选择,文件explorer.exe会采用/select这样的参数:

explorer.exe /select, <filelist>

我是从SO帖子中得到的:Opening a folder in explorer and selecting a file

所以你的代码是:

if (File.Exists(filePath))
{
    Process.Start("explorer.exe", "/select, " + filePath);
}

答案 1 :(得分:6)

这是我在代码中执行此操作的方式。这将打开资源管理器中的文件目录,并按照Windows资源管理器的方式选择指定的文件。

if (File.Exists(path))
{
    Process.Start(new ProcessStartInfo("explorer.exe", " /select, " + path);
}