Выбор файла в проводниках Windows не всегда работает

Используя следующее

explorer.exe /select, "c:\path\to\file.txt"

Я могу открыть проводник Windows и выбрать файл. В Delphi я делаю это, чтобы выбрать файл "Parm":

ShellExecute(Application.MainForm.Handle, 'OPEN', PChar('explorer.exe'), PChar('/select,"' + Parm + '"'), nil, SW_NORMAL);

И это работает. Моя проблема заключается в следующем: если я выберу другой файл в недавно открытом проводнике (щелкнув другой файл), а затем вызову приведенный выше код, файл «Parm» больше не будет выбран. Интересно, что есть программы, которые выбирают файл заново. Например, iTunes всегда выбирает нужный файл.

Кто-нибудь знает, как заставить Проводник всегда выбирать указанный файл?


person Eduardo Mauro    schedule 27.11.2010    source источник


Ответы (1)


Это известное ограничение использования переключателя /select с explorer.exe: он выбирает конкретный файл только в том случае, если родительская папка еще не открыта.

Вам придется использовать вызов API, например SHOpenFolderAndSelectItems вместо этого. Эта функция также позволяет использовать множественный выбор.

person Paul-Jan    schedule 27.11.2010