Brève définition :
Dans les multiples DLL de Windows, un d'eux conserve la plupart des fonctions pour les contrôles fenêtrés. Celui-ci se nomme User32.Dll. À l'intérieur de cette librairie se trouve 3 fonctions qui seront utilisées dans ce tutorial. Les voici :
  • FindWindow
  • FindWindowEx
  • ShowWindow
Explication :
Comment les utiliser et qu'est-ce qu'elles font ? La fonction FindWindow récupère le Handle (Adresse de la fenêtre) de la fenêtre possèdant le nom qui lui à été envoyé par paramètre. La fonction FindWindowEx récupère le Handle de la fenêtre fille (Par exemple le bouton démarrer est fille de la fenêtre Barre des tâches) possèdant le nom et la fenêtre mère qui lui est envoyé par paramètre. Et pour terminer, la fonction ShowWindow, permet de rendre visible ou invisible une fenêtre par son adresse (Handle).
Supposons que nous voulions cacher le bouton démarrer de Window, il suffirait de récupérer son adresse par la fonction FindWindowEx parce que ce bouton est fenêtre fille de la barre des tâches... Démonstration :
Var
   BarreDesTaches,
   BoutonDe :Word;

Begin
     BarreDesTaches := FindWindow( 'Shell_TrayWnd', '' );
     BoutonDe := FindWindowEx( BarreDesTaches, $0, 'Button', '' );
     ShowWindow( BoutonDe, SW_HIDE );
End;											  
Et voilà, l'adresse du bouton démarrer est récupérée dans la variable BoutonDe.
  • La fonction FindWindow à comme premier paramètre, le nom de la classe de la fenêtre.
    Le deuxième paramètre est le titre de cette fenêtre, mais comme la barre des tâches n'a pas de titre, une chaîne vide est envoyée comme paramètre.
  • La fonction FindWindowEx demande comme premier paramètre l'adresse de la fenêtre mère où se trouve la fenêtre fille.
    Le deuxième paramètre est l'adresse (Handle) de la fenêtre fille, mais comme c'est cela que nous cherchons, la valeur 0 y est passée.
    Le troisième paramètre demande le nom de la classe de la fenêtre fille.
    Le dernier paramètre est le titre de la fenêtre fille (Son caption). Ici il est démontrer que seulement avec le nom de la classe d'une fenêtre, il est possible de récupérer son Handle.
  • La fonction ShowWindow Cette fonction demande l'adresse (Handle) de la fenêtre à rendre visible ou invisible.
    Elle demande aussi comme deuxième paramètre une constante (Visible ou pas) les voici : SW_SHOW et SW_HIDE.
Capture d'écran :
Le bouton démarrer étant caché.


Programme relié
Un programme qui montre comment cacher quelques fenêtres de Windows (PS : Quelques unes des fenêtres ne seront pas disponible sur Windows95 ou NT, le programme à été testé sur Win98).   Source