2010-11-27 54 views
9

使用以下選擇文件並不總是工作

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

我可以打開Windows資源管理器,然後選擇文件。在德爾福我做這個選擇「帕爾姆」文件:

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

它的工作原理。我的問題是:如果我在最近打開的資源管理器中選擇不同的文件(單擊不同的文件),然後調用上面的代碼,則不會再選擇「Parm」文件。有趣的是,有一些程序再次選擇文件。例如,iTunes總是選擇所需的文件。

有沒有人有線索如何讓總是選擇指定的文件?

回答

13

這是使用explorer.exe使用/ select開關的已知限制,如果父文件夾尚未打開,它將僅選擇特定文件。

您將不得不使用類似SHOpenFolderAndSelectItems的API調用。該功能還允許多選。

+0

完美,謝謝,我試圖回想起這個函數的名字atm – 2010-11-27 16:14:44