Ermittelt Informationen über eine festgelegte Menüleiste
#include <GuiMenu.au3>
_GUICtrlMenu_GetMenuBarInfo ( $hWnd [, $iItem = 0 [, $iObject = 1]] )
$hWnd | Handle zu dem Fenster dessen Informationen ermittelt werden sollen |
$iItem | [optional] legt das Item fest für welches Informationen ermittelt werden soll. Falls 0 empfängt die Funktion Informationen über das Menü selbst. Falls 1, empfängt die Funktion Informationen über das erste Item auf dem Menü und so weiter. |
$iObject | [optional] legt das Menüobjekt fest: 0 - Das Popupmenü welches mit dem Fenster verbunden ist 1 - Die Menüleiste welche mit dem Fenster verknüpft ist 2 - Das Systemmenü welches mit dem Fenster verknüpft ist |
Erfolg: | ein Array mit dem folgenden Format: [0] - X Koordinate der oberen linken Ecke des Rechtecks [1] - Y Koordinate der oberen linken Ecke des Rechtecks [2] - X Koordinate der unteren rechten Ecke des Rechtecks [3] - Y Koordinate der unteren rechten Ecke des Rechtecks [4] - Handle zu der Menüleiste oder Popupmenü [5] - Handle zu dem Untermenü [6] - True falls die Menüleiste den Fokus hat, sonst False [7] - True falls das Menüitem den Fokus hat, sonst False |
Fehler: | Setzt das @error Flag auf ungleich null |
- - - - - - - - Erklärung der Controls - - - - - - - -
Suche nach GetMenuBarInfo in der MSDN Bibliothek.
#include <GuiMenu.au3>
Example()
Func Example()
Local $hWnd, $aInfo
; Startet den Editor
Run("notepad.exe")
WinWaitActive("[CLASS:Notepad]")
$hWnd = WinGetHandle("[CLASS:Notepad]")
; Ermittelt die Menü Leisten Informationen
$aInfo = _GUICtrlMenu_GetMenuBarInfo($hWnd)
Writeln("Links ............: " & $aInfo[0])
Writeln("Oben .............: " & $aInfo[1])
Writeln("Rechts ...........: " & $aInfo[2])
Writeln("Unten ..........: " & $aInfo[3])
Writeln("Menü Handle .....: 0x" & Hex($aInfo[4]))
Writeln("Submenü Handle ..: 0x" & Hex($aInfo[5]))
Writeln("Menü Leiste fokusiert : " & $aInfo[6])
Writeln("Menu Item fokusiert: " & $aInfo[7])
EndFunc ;==>Example
; Schreibt eine Zeile mit Text in den Editor
Func Writeln($sText)
ControlSend("[CLASS:Notepad]", "", "Edit1", $sText & @CRLF)
EndFunc ;==>Writeln