Открытие окна проводника с выбранным файлом - PullRequest
11 голосов
/ 08 октября 2010

У меня есть приложение, в котором есть возможность показать выбранный файл в папке, в которой он находится.У меня вопрос, как мне этого добиться?

Чтобы уточнить, если пользователь в моей программе выбрал файл "Test.txt", то я хочу, чтобы всплывающее окно проводника Windows и выделил файл пользователявыбран.Вы можете увидеть похожее поведение в LimeWire и uTorrent.Если вы выбираете файл в одной из этих программ и выбираете «Показать в папке», он открывает окно проводника Windows с выделенным и выбранным файлом.Я пытаюсь продублировать это поведение.

Я пытался использовать следующую строку:

System.Diagnostics.Process.Start("Explorer");

Это откроет окно проводника Windows, однако, по-видимому, оно всегда открывается по умолчанию в "Мои документы ».

Ответы [ 4 ]

27 голосов
/ 08 октября 2010

Вот, пожалуйста,

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: \ Мои документы»).

Из этой темы:
Программно выбрать несколько файлов в проводнике Windows

Cheers,

2 голосов
/ 08 октября 2010

Для этого существует документированный API: SHOpenFolderAndSelectItems . Кто знает, это может даже сделать правильную вещь, когда проводник не является оболочкой по умолчанию:)

0 голосов
/ 19 декабря 2018

Для VB:

Dim q as Char = ControlChars.Quote
Dim path As String = q & "D:\examples\test doc.txt" & q
Dim psi as New ProcessStartInfo("Explorer.exe", "/Select, " & path)
Process.Start(psi)

Как указали другие, пути, содержащие пробелы, должны быть заключены в кавычки.

0 голосов
/ 09 октября 2010

Вы можете создать путь к папке в строке, а затем отправить его в командную строку Windows для просмотра.

http://www.c -sharpcorner.com / UploadFile / DipalChoksi / ShellCommandsInCS12032005042031AM / ShellCommandsInCS.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...