システムメニューの閉じるボタンを消す(InstallShield)

2011年 1月 28日(金曜日) 19:48
印刷

前回は「キャンセルボタン」の無効化について書きました。今回は閉じるボタン[X] についてです。目的は前回と同じく、InstallShiledから外部プログラムを呼んだりする際に、キャンセル(ロールバック)出来ないようにするためです。

 

まず、閉じるボタン[X]を削除する方法。

InstallShieldのメインウィンドウを検索してシステムメニューのハンドルを取得してから、閉じるボタン[X] を削除します。

hWindow = FindWindow("#32770", IFX_SETUP_TITLE);hWindow = FindWindow("#32770", IFX_SETUP_TITLE);
prototype INT User32.GetSystemMenu(HWND, INT);
prototype INT User32.RemoveMenu(INT, INT, INT);

if (hWindow) then
  hMenu = User32.GetSystemMenu(hWindow, 0);
  User32.RemoveMenu(hMenu, SC_CLOSE, 0);
endif;