2009-08-11 21 views

Odpowiedz

8

Spróbuj tego:

ShellExecute(Application.Handle, nil, 'explorer.exe', nil, nil, SW_NORMAL); 

Musisz dodać ShellAPI do listy wykorzystuje klauzuli.

10

Opierając się na co Mason Wheeler powiedział: można również przekazać w katalogu jako argument, aby uzyskać okno otworzyć, aby non-domyślna lokalizacja:

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

Również w przypadku trzeba wybrać niektóre dany plik w Eksploratorze mam następujące funkcje, które używam

procedure SelectFileInExplorer(const Fn: string); 
begin 
    ShellExecute(Application.Handle, 'open', 'explorer.exe', 
    PChar('/select,"' + Fn+'"'), nil, SW_NORMAL); 
end; 

i można nazwać:

SelectFileInExplorer('C:\Windows\notepad.exe'); 

EDIT: Jak wspomniano ShellAPI musi zostać dodany do listy uses

+1

bardzo fajne, nie widziałem tego przed – JosephStyons

+0

Czy to działa, jeśli plik nie był w C: \ ?? – Zeina

+0

Tak, będzie działać na każdej poprawnej ścieżce systemu Windows – zz1433

Powiązane problemy