我在Delphi项目中有一个表单。表格上有一个按钮。当用户单击该按钮时,我希望它打开Windows资源管理器。
我需要用什么代码来实现这个目标?
答案 0 :(得分:26)
如果您需要在资源管理器中选择某个特定文件,我将使用以下函数
procedure SelectFileInExplorer(const Fn: string);
begin
ShellExecute(Application.Handle, 'open', 'explorer.exe',
PChar('/select,"' + Fn+'"'), nil, SW_NORMAL);
end;
你可以称之为:
SelectFileInExplorer('C:\Windows\notepad.exe');
编辑:如上所述,必须将ShellAPI添加到您的使用列表
答案 1 :(得分:11)
以Mason Wheeler所说的为基础:您还可以将目录作为参数传入,以使窗口打开到非默认位置:
uses
ShellAPI;
...
ShellExecute(Application.Handle,
nil,
'explorer.exe',
PChar('c:\'), //wherever you want the window to open to
nil,
SW_NORMAL //see other possibilities by ctrl+clicking on SW_NORMAL
);
答案 2 :(得分:8)
试试这个:
ShellExecute(Application.Handle, nil, 'explorer.exe', nil, nil, SW_NORMAL);
您需要在使用子句中添加ShellAPI
。
答案 3 :(得分:2)
根据http://msdn.microsoft.com/en-us/library/bb762153%28VS.85%29.aspx,ShellExecute还支持'explore'动词,它'探索'由lpFile指定的文件夹,所以这应该有效:
ShellExecute(Application.Handle, 'explore', '.', nil, nil, SW_NORMAL);