允许应用程序访问、复制和修改窗口菜单
#Include <GuiMenu.au3>
_GUICtrlMenu_GetSystemMenu($hWnd[, $fRevert = False])
$hWnd | 拥有菜单的窗口句柄 |
$fRevert | [可选参数] 指定要采取的操作,如果此参数为 False,该函数返回当前复制的窗口菜单句柄 复制的副本与最初窗口菜单是相同的,但它可以被修改 如果这个参数为 True,函数复位窗口菜单返回到默认状态 如果窗口菜单有上级菜单,将被销毁. |
如果 $fRevert 参数为 False, 则返回值是一个指向窗口菜单副本的句柄. | |
如果 $fRevert 参数为 True, 则返回值为 0. |
在MSDN中搜索
#include <GuiMenu.au3>
_Main()
Func _Main()
Local $hWnd, $hMenu, $iCount, $iI
; 打开记事本
Run("notepad.exe")
WinWaitActive("[CLASS:Notepad]")
$hWnd = WinGetHandle("[CLASS:Notepad]")
$hMenu = _GUICtrlMenu_GetSystemMenu($hWnd)
; 玩弄系统菜单
_GUICtrlMenu_InsertMenuItem($hMenu, 5, "&AutoIt")
; 显示系统菜单
$iCount = _GUICtrlMenu_GetItemCount($hMenu)
Writeln("System menu handle: 0x" & Hex($hMenu))
Writeln("Item count .......: " & $iCount)
For $iI = 0 To $iCount - 1
Writeln("Item " & $iI & " text ......: " & _GUICtrlMenu_GetItemText($hMenu, $iI))
Next
EndFunc ;==>_Main
; 写入一行文本到记事本
Func Writeln($sText)
ControlSend("[CLASS:Notepad]", "", "Edit1", $sText & @CR)
EndFunc ;==>Writeln