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

10

使用以下代码

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

我可以打开Windows资源管理器并选择文件。在Delphi中,我这样选择“参数”文件:

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

它可以运行。我的问题是:如果我在最近打开的资源管理器中选择了不同的文件(点击不同的文件),然后调用上述代码,"Parm" 文件将不再被选中。有趣的是,有些程序会再次选择该文件。例如,ITunes总是选择所需的文件。

有人知道如何让资源管理器始终选择指定的文件吗?

1个回答

14

使用/explorer.exe的选择开关存在一个已知限制,如果父文件夹已经打开,它只会选择特定的文件。

相反,您需要使用API调用,例如SHOpenFolderAndSelectItems。此功能还允许进行多项选择。


完美,谢谢,我正在尝试回忆这个函数的名称。 - Free Consulting
1
SHOpenFolderAndSelectItems的一个很好的例子可以在这里找到:https://dev59.com/hmUp5IYBdhLWcg3wZG8c - Lars

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接