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

Posted

技术标签:

【中文标题】在 Windows 资源管理器中选择文件并不总是有效【英文标题】:Selecting file in Windows Explorers does not always work 【发布时间】:2011-05-16 13:29:12 【问题描述】:

使用以下

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

有没有人知道如何让资源管理器总是选择指定的文件?

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

完美,谢谢,我正在尝试回忆这个函数的名称 atm SHOpenFolderAndSelectItems 的一个很好的例子可以在这里找到:***.com/questions/15300999/…

以上是关于在 Windows 资源管理器中选择文件并不总是有效的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Windows 资源管理器中刷新文件的缩略图?

从 Windows 资源管理器中打开 VS Code 中的文件夹

Windows 资源管理器中未显示文件大小

Windows修改账户名称和任务管理器中服务对应的用户名称

打开 Windows Explorer 目录,选择特定文件(在 Delphi 中)

如何防止 Eclipse 在包资源管理器中显示打开的文件