Открытие окна проводника с выбранным указанным файлом

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

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

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

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

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


person Icemanind    schedule 08.10.2010    source источник


Ответы (4)


Ну вот,

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

Ваше здоровье,

person Karthik Mahalingam    schedule 08.10.2010


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

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

person MAW74656    schedule 08.10.2010

Для ВБ:

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)

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

person Spiritman    schedule 19.12.2018