Permet � l'application d'acc�der au menu de la fen�tre pour des op�rations de copie et de modification
#include <GuiMenu.au3>
_GUICtrlMenu_GetSystemMenu ( $hWnd [, $bRevert = False] )
$hWnd | Handle de la fen�tre qui poss�dera une copie du menu de la fen�tre |
$bRevert | [optionnel] Sp�cifie l'action � prendre. Si ce param�tre est False, la fonction retourne un handle de la copie du menu de la fen�tre en cours d'utilisation. La copie est initialement identique � la fen�tre de menu, mais elle peut �tre modifi�e. Si ce param�tre est True, la fonction r�initialise le menu de la fen�tre � l'�tat par d�faut. Le menu de la fen�tre pr�c�dente, le cas �ch�ant, est d�truit. |
Toute fen�tre qui n'utilise pas la fonction GetSystemMenu pour faire sa propre copie du menu d'une fen�tre re�oit le menu standard.
Le menu contient initialement des �l�ments avec diff�rentes valeurs d'identification, telles que $SC_CLOSE, $SC_MOVE, et $SC_SIZE. Les �l�ments de menu dans le menu de fen�tre envoit les messages $WM_SYSCOMMAND.
Tous les �l�ments de menu de fen�tre pr�d�finis ont des num�ros d'identification plus grand que 0xF000.
Si une application ajoute des commandes dans le menu de fen�tre, elle doit utiliser des num�ros d'identification inf�rieurs � 0xF000.
Le syst�me met automatiquement en gris les �l�ments du menu de fen�tre standard, en fonction de la situation.
L'application peut effectuer elles-m�mes ses op�rations cocher et griser en r�pondant au message $WM_INITMENU qui est envoy� avant qu'un menu soit affich�.
Consultez GetSystemMenu dans la librairie MSDN.
#include <GuiMenu.au3> Example() Func Example() Local $hWnd, $hMenu, $iCount, $iI ; Ouvre le Bloc-Notes Run("notepad.exe") WinWaitActive("[CLASS:Notepad]") $hWnd = WinGetHandle("[CLASS:Notepad]") $hMenu = _GUICtrlMenu_GetSystemMenu($hWnd) ; Joue avec le menu syst�me _GUICtrlMenu_InsertMenuItem($hMenu, 5, "&AutoIt") ; Affiche le menu syst�me $iCount = _GUICtrlMenu_GetItemCount($hMenu) Writeln("Handle du menu Syst�me: 0x" & Hex($hMenu)) Writeln("Nb d'�l�ments .......: " & $iCount) For $iI = 0 To $iCount - 1 Writeln("�lemnt " & $iI & " text ......: " & _GUICtrlMenu_GetItemText($hMenu, $iI)) Next EndFunc ;==>Example ; �crit une ligne de texte dans le Bloc-Notes Func Writeln($sText) ControlSend("[CLASS:Notepad]", "", "Edit1", $sText & @CRLF) EndFunc ;==>Writeln