J'ai une forme dans un projet Delphi. Il y a un bouton sur la forme. Lorsque l'utilisateur clique sur le bouton, je souhaite ouvrir l'explorateur Windows. p>
Quel code vais-je avoir besoin pour y parvenir? P>
5 Réponses :
Essayez ceci: vous devez ajouter shellapi code> à votre clause forte> utilise p> p> p >
Construire sur ce que Mason Wheeler a déclaré: Vous pouvez également passer dans un répertoire comme argument, pour obtenir la fenêtre à ouvrir à un emplacement non 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 );
Eh bien, au cas où vous auriez besoin de sélectionner un fichier particulier dans Explorer, j'ai la fonction suivante que j'utilise et vous pouvez l'appeler: p> EDIT: Comme mentionné, Shellapi doit être ajouté à votre liste d'utilisations p> p>
Ne devrait pas pwidechar code> être utilisé à la place de
pCHAR code>?
"Explorer" fonctionne comme un verbe pour les dossiers et NIL fait la valeur par défaut (qui est l'explorateur Windows pour les dossiers). Le nom traditionnel de cette fonction est OpenFileDefaultViewer (), que vous pouvez google (signifiait plus pour "Open" que "Explorer"). Il devrait également fonctionner sur n'importe quel type de fichier, en fonction de ce qui est mappé dans le registre pour l'extension de fichier (par exemple, README.TXT -> Notepad). Faites attention à l'hypothèse de l'application; S'il n'y a pas de fenêtre (E.G. Command-ligne ou DLL), vous pouvez passer 0 comme une poignée non valide. La poignée est davantage sur Windows gérant la fenêtre active et la propriété de la fenêtre, je pense.
Selon http://msdn.microsoft .com / fr-nous / bibliothèque / bb762153% 28vs.85% 29.aspx , Shellexecute prend également en charge le verbe "Explorer", qui "explore" un dossier spécifié par LPFILE, cela devrait donc fonctionner:
ShellExecute(Application.Handle, 'explore', '.', nil, nil, SW_NORMAL);
En FireMonkey, pour ouvrir l'explorateur Sélectionner un fichier:
uses Winapi.Windows, Winapi.ShellAPI, FMX.Forms, FMX.Platform.Win; procedure OpenExplorerSelectingFile(const AFileName: string); begin ShellExecute(WindowHandleToPlatform(Application.MainForm.Handle).Wnd, 'open', 'explorer.exe', PChar('/select,"' + AFilename + '"'), nil, SW_NORMAL); end;