2009-08-11 52 views

Trả lời

8

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.

10

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 
    ); 
22

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

+1

rất tuyệt, tôi chưa từng thấy trước đây – JosephStyons

+0

Thao tác này có hoạt động nếu tệp không có trong C: \ ?? – Zeina

+0

Có, nó sẽ hoạt động trên mọi đường dẫn cửa sổ hợp lệ – zz1433

Các vấn đề liên quan