システムメニューの「閉じる」を無効にする

■使用するコンポーネント

■使用するAPI関数

■ソースは下記のようになります。

システムメニューの「閉じる」を無効にする処理
procedure TForm1.Button1Click(Sender: TObject);
var
 hMen: Integer; //システムメニューのハンドル
begin

 //システムメニューのハンドルを取得する

 hMen := GetSystemMenu(Form1.Handle, False);

 //「閉じる」のメニューを削除
 DeleteMenu (hMen, SC_Close, MF_BYCOMMAND);

 //区切り線を削除(見た目が悪いですから)
 DeleteMenu (hMen, 0, MF_BYCOMMAND);

 //変更を反映するために再描画
 DrawMenuBar(Form1.Handle);

 //ついでにタスクバーの「閉じる」も削除する
 hMen := GetSystemMenu(Application.Handle, False);
 DeleteMenu (hMen, SC_Close, MF_BYCOMMAND);
 DeleteMenu (hMen, 0, MF_BYCOMMAND);
 DrawMenuBar(Application.Handle);


end;




Win32APIのページへ



ホーム PV ランキング