コピーと変更のためにアプリケーションがウィンドウメニューにアクセスすることを許可します。
#Include <GuiMenu.au3>
_GUICtrlMenu_GetSystemMenu($hWnd[, $fRevert = False])
パラメータ
$hWnd | ウィンドウメニューのコピーを保持するウィンドウのハンドル |
$fRevert | [オプション]実行される動作を指定します。 このパラメータがFalseの場合、この関数は現在使用されているウィンドウメニューのコピーのハンドルを返します。 コピーは最初、ウィンドウメニューと同じですが変更することができます。 このパラメータがTrueの場合、この関数はウィンドウメニューをデフォルトの状態にリセットします。 以前のウィンドウメニューが存在する場合は破棄されます。 |
返し値
$fRevertパラメータがFalseの場合、返し値はウィンドウメニューのコピーのハンドルです。
注意
GetSystemMenu関数を使って自身が保持するウィンドウメニューのコピーを作成しないウィンドウは全て、標準のウィンドウメニューを受け取ります。
関連
こちらも参照
MSDNライブラリでGetSystemMenuを検索して下さい。
例
#include <GuiMenu.au3>
Opt('MustDeclareVars', 1)
_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
; メモ帳にテキストを1行書き込む
Func Writeln($sText)
ControlSend("Untitled - Notepad", "", "Edit1", $sText & @CR)
EndFunc ;==>Writeln