在Windows资源管理器中选择文件并不总是有效

时间:2010-11-27 13:07:18

标签: delphi windows-explorer shellexecute

使用以下

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总是选择所需的文件。

有没有人知道如何让Explorer总是选择指定的文件?

1 个答案:

答案 0 :(得分:13)

这是使用/ select开关和explorer.exe的已知限制,如果父文件夹尚未打开,它将仅选择特定文件。

您必须使用SHOpenFolderAndSelectItems之类的API调用。此功能还允许多选。