Code : Tout sélectionner
Tray = FindWindow_("Shell_TrayWnd", 0);
De plus, la barre des tâches possède 3 enfants :
"Button"(le bouton Démarrer)
"ReBarWindow32" (la partie centrale)
"TrayNotifyWnd" (la partie de droite, avec l'heure).
Pour obtenir ces handles, on se sert de la fonction GetWindow_ avec GW_CHILD.
Code : Tout sélectionner
Global *Buffer
*Buffer = AllocateMemory(128)
; Handle de la Barre des tâches
Tray = FindWindow_("Shell_TrayWnd",0)
; cacher Barre des tâches
; ShowWindow_(Tray, #SW_NORMAL) ; #SW_HIDE
;Mais elle contient 3 enfants (Child)
; Button(le bouton Démarrer)
; ReBarWindow32 (la partie centrale)
; TrayNotifyWnd (la partie de droite, avec l'heure).
Child = GetWindow_(Tray, #GW_CHILD);
While Child <> 0
If GetClassName_(Child, *Buffer, 128) > 0
Enfant.s=PeekS(*Buffer, 128)
Debug Enfant; Nom des 3 enfants
If Enfant = "Button"
Debug "Agir sur le bouton Démarrer"
;Cacher le bouton Démarrer
;ShowWindow_(Child, #SW_HIDE);#SW_NORMAL
;Fermer le bouton Démarrer
;SendMessage_(Child,#WM_CLOSE,0,0) ;Pour le revoir, il faut exécuter le fichier "Explorer.exe"
;Agrandirle bouton Démarrer
;SendMessage_(Child,#SW_MAXIMIZE,0,0) ; SW_NORMAL
;Petite barre flotante dans la barre des tâches. En double cliquant dessus, elle se retransforme en bouton.
;SendMessage_(Child,#SW_MINIMIZE,0,0) ; SW_NORMAL
;Pour afficher un texte dans cette petite barre
;SetWindowText_(Child,"Hello !");
;SendMessage_(Child,#SW_MINIMIZE,0,0)
;déplacer bouton Démarrer
;x=75
;y=0
;w=75
;h=19
;redraw=#True
;MoveWindow_(Child,x,y,w,h,redraw)
ElseIf Enfant = "TrayNotifyWnd"
Debug "Agir sur la partie centrale"
ElseIf Enfant = "ReBarWindow32"
Debug "Agir sur la partie droite"
EndIf
EndIf
Child = GetWindow_(Child, #GW_HWNDNEXT);
Wend
;Pour d'autres fonctions, voir la fonction "SHAppBarMessage_"