システムメニューをロック <TOP>
GetSystemMenu システムメニューのハンドル取得
GetMenuItemCount メニューの項目数を取得
RemoveMenu
システムメニューの削除
MF_BYPOSITION(&H400) nPositionはメニュー項目のインデックス
システムメニューの項目数をカウントし、全ての項目をロックしています。
'================================================================ '= システムメニューをロック '= (GetSystemMenu2.bas) '================================================================ #include "Windows.bi" ' システムメニューのハンドル取得 Declare Function Api_GetSystemMenu& Lib "user32" Alias "GetSystemMenu" (ByVal hWnd&, ByVal bRevert&) ' メニューの項目数を取得 Declare Function Api_GetMenuItemCount& Lib "user32" Alias "GetMenuItemCount" (ByVal hMenu&) ' システムメニューの削除 Declare Function Api_RemoveMenu& Lib "user32" Alias "RemoveMenu" (ByVal hMenu&, ByVal nPosition&, ByVal wFlags&) #define MF_BYPOSITION &H400 'nPositionはメニュー項目のインデックス Var Shared Button1 As Object Button1.Attach GetDlgItem("Button1") : Button1.SetFontSize 14 '================================================================ '= '================================================================ Declare Sub Button1_on edecl () Sub Button1_on() Var hMenu As Long Var MenuItems As Long Var i As Long hMenu = Api_GetSystemMenu(GethWnd, 0) If hMenu <> 0 Then MenuItems = Api_GetMenuItemCount(hMenu) If MenuItems <> 0 Then For i = MenuItems - 1 To 0 Step -1 Ret = Api_RemoveMenu(hMenu, i, MF_BYPOSITION) Next i End If End If End Sub '================================================================ '= '================================================================ Declare Sub Button2_on edecl () Sub Button2_on() End End Sub '================================================================ '= '================================================================ While 1 WaitEvent Wend Stop End