Tôi có một biểu mẫu trong dự án Delphi. Có một nút trên biểu mẫu. Khi người dùng nhấp vào nút, tôi muốn nó mở Windows Explorer.Làm thế nào để mở windows explorer khi tôi bấm vào một nút?
Tôi cần mã nào để đạt được điều này?
Tôi có một biểu mẫu trong dự án Delphi. Có một nút trên biểu mẫu. Khi người dùng nhấp vào nút, tôi muốn nó mở Windows Explorer.Làm thế nào để mở windows explorer khi tôi bấm vào một nút?
Tôi cần mã nào để đạt được điều này?
Hãy thử điều này:
ShellExecute(Application.Handle, nil, 'explorer.exe', nil, nil, SW_NORMAL);
Bạn sẽ cần phải thêm ShellAPI
để của bạn sử dụng khoản.
xây dựng trên những gì Mason Wheeler cho biết: bạn cũng có thể vượt qua trong một thư mục như một cuộc tranh cãi, để có được cửa sổ để mở cửa cho một vị trí không-mặc định:
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
);
Cũng trong trường hợp bạn cần phải chọn một số tập tin đặc biệt trong explorer tôi đã hàm sau mà tôi sử dụng
procedure SelectFileInExplorer(const Fn: string);
begin
ShellExecute(Application.Handle, 'open', 'explorer.exe',
PChar('/select,"' + Fn+'"'), nil, SW_NORMAL);
end;
và bạn có thể gọi nó là:
SelectFileInExplorer('C:\Windows\notepad.exe');
EDIT: Như đã đề cập ShellAPI phải được thêm vào danh sách sử dụng của bạn
Theo http://msdn.microsoft.com/en-us/library/bb762153%28VS.85%29.aspx, ShellExecute cũng hỗ trợ các 'khám phá' động từ, mà 'khám phá' một thư mục theo quy định của lpFile, vì vậy đây sẽ làm việc:
ShellExecute(Application.Handle, 'explore', '.', nil, nil, SW_NORMAL);
rất tuyệt, tôi chưa từng thấy trước đây – JosephStyons
Thao tác này có hoạt động nếu tệp không có trong C: \ ?? – Zeina
Có, nó sẽ hoạt động trên mọi đường dẫn cửa sổ hợp lệ – zz1433