2009-08-11 8 views

Répondre

8

Essayez ceci:

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

Vous devrez ajouter à votre ShellAPIutilise la clause.

10

bâtiment sur ce que Mason Wheeler a dit: vous pouvez également passer dans un répertoire comme argument, pour obtenir la fenêtre pour ouvrir à un emplacement par défaut:

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

bien au cas où vous devez sélectionner une fichier particulier dans l'explorateur que j'ai la fonction suivante que j'utilise

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

et vous pouvez l'appeler:

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

EDIT: Comme mentionné ShellAPI doit être ajouté à votre liste uses

+1

très cool, je n'ai pas vu cela avant – JosephStyons

+0

Est-ce que cela fonctionnera si le fichier n'était pas dans C: \ ?? – Zeina

+0

Oui, cela fonctionnera sur n'importe quel chemin d'accès Windows valide – zz1433

Questions connexes