如何在选择文件的情况下显示资源管理器?

Pre*_*ion 9 windows delphi shell winapi

什么是API调用以显示选择了指定文件的资源管理器窗口?当您单击.lnk快捷方式的"属性"对话框中的"查找目标..."按钮时,会发生什么情况?我知道有功能(或接口方法),但我忘了名字,再也找不到了.

请注意,我知道explorer /select,<pathname>命令行,并且不想使用它而不是API调用.

Wou*_*ick 7

此函数打开资源管理器,并选择指定的文件:

uses ShellAPI, ...;

procedure TForm1.ShowFile(const aFileName:String);
begin
  ShellExecute(Handle, 'OPEN', PChar('explorer.exe'), PChar('/select, "' + aFileName + '"'), nil, SW_NORMAL)
end;

procedure TForm1.ShowFolder(const aPath:String);
begin
  ShellExecute(Handle, 'OPEN', PChar('explorer.exe'), PChar('/root, "' + aPath + '"'), nil, SW_NORMAL) 
end;
Run Code Online (Sandbox Code Playgroud)

或者这是你不想使用的"命令行"?


Ant*_*nov 6

你需要SHOpenFolderAndSelectItems.这个问题在这里得到了早期的讨论 - 以 编程方式在资源管理器中选择文件
别忘了在第一次使用之前调用CoInitializeSHOpenFolderAndSelectItems