Lors de l'écriture de programmes, parfois pour économiser des efforts ou à d'autres fins, nous souhaitons souvent emprunter la boîte de dialogue du système. Alors, comment pouvons-nous appeler la boîte de dialogue du système ? Un ami appelle la boîte de dialogue « Ouvrir avec » dans VB comme ceci :
winexec(PChar('rundll32shell32,OpenAs_RunDLL'+FilePath),SW_SHOWDEFAULT);
Ce code est implémenté en exécutant rundll32.exe et en le laissant appeler les ressources de shell32.dll. La méthode est réalisable, mais il y a beaucoup de novices comme moi qui ne comprennent pas comment appeler les précieuses ressources dans shell32.dll. Comment devrions-nous procéder ?
Voici comment je l'ai appelé :
1. Appelez la boîte de dialogue système « À propos » :
Ajoutez d'abord SHellApi aux utilisations,
Écrivez ensuite le code suivant :
PRocedureTForm1.Button1Click(Expéditeur:TObject);
var
shellapp:variante;
commencer
ShellAboutW(0,'Timerv1.03','kedyCopyright',1);
fin;
Je n'entrerai pas dans les détails des autres étapes. Après l'exécution, cliquez sur le bouton et la boîte de dialogue standard À propos de WINDOWS apparaîtra. La boîte de dialogue s'intitule « À propos de Timerv1.03 ». Comme vous pouvez le voir, j'ai utilisé la fonction ShellAboutW dans le programme. Cette fonction est décrite dans MSDN2003 comme ceci :
ShellÀ propos de la fonction
Affiche une boîte de dialogue ShellÀ propos.
Syntaxe
intShellÀ propos(HWNDhWnd,
LPCTSTRszApp,
LPCTSTRszAutresStuff,
HICONhIcône
);
Paramètres
wx
[in]Poignée de fenêtre pour une fenêtre parente. Ce paramètre peut être NULL.
szApp
[in] Pointeur vers une chaîne terminée par un caractère nul contenant du texte qui sera affiché dans le
barre de titre de la boîte de dialogue Shell À propos et sur la première ligne de la boîte de dialogue après le
texte "Microsoft". Si le texte contient un séparateur (#) le divisant en deux parties, le
la fonction affiche la première partie dans la barre de titre et la deuxième partie sur la première ligne
après le texte « Microsoft ».
szAutrestrucs
[in] Pointeur vers une chaîne terminée par un caractère nul contenant du texte qui sera affiché dans le
boîte de dialogue après les informations de version et de copyright.
hIcône
[dans]Icônequelafonctionaffichedanslaboîtededialogue.SiceparamètreestNULL,le
La fonction affiche l'icône Microsoft® Windows® ou Microsoft Windows NT®.
Je ne pense pas que vous ayez besoin que je traduise ce que cela signifie. Il est préférable de voir ces choses par vous-même.
2. Appelez la boîte de dialogue d'arrêt
Il suffit de changer la partie de début du code en
commencer
shellapp:=CreateOleObject('Shell.application');
shellapp.ShutDownWindows ;
fin;
Les autres parties restent inchangées. Exécutez et cliquez sur le bouton et nous pouvons voir la boîte de dialogue d'arrêt du système standard.
En fait, c'est toujours la fonction WindowsAPI shutdownwindows appelée.
Cette partie utilise deux fonctions dans la méthode d'application shell Windows. Les autres fonctions de la méthode comprennent :
BrowseForFolder, CascadeWindows, ControlPanelItem, EjectPC, Explore, FileRun, FindComputer, FindFiles, Help, MinimizeAll, NameSpace, Open, RefreshMenu, SetTime, TileHorizontally, TileVerticalement, TrayProperties, UndoMinimizeALL. Je n'ai appris à utiliser que quelques-unes de ces fonctions. Pour plus de détails, veuillez vérifier le contenu sur shellobject dans MSDN.
Ce que je veux surtout dire, c'est que vous devez utiliser MSDN pour apprendre les programmes sous Windows. Je suis vraiment étonné par les ressources de cette bibliothèque. Vous pouvez y jeter un œil et je pense que vous le penserez aussi.