ALT+F4を無効にする 最終更新日 2003年8月7日 0:00 オーバーライドしたWndProcでALT+F4のキー入力メッセージを捕獲し、何も処理しないことで無かったことにする。 ALT+F4を押したときにはWM_SYSKEYDOWNメッセージが送信されてくる。 C# VB 別ウィンドウで開く すべて選択してコピー ダウンロード 行番号を表示する public class Form1 : System.Windows.Forms.Form { // 途中略 // WndProcメソッドをオーバーライドし // ALT+F4で閉じることができないようにする protected override void WndProc( ref Message m ) { const int WM_SYSKEYDOWN = 0x0104; const int VK_F4 = 0x73; // ウィンドウを閉じない if ( m.Msg == WM_SYSKEYDOWN && m.WParam.ToInt32() == VK_F4 ) { // ALT+F4に対する処理を行わない m.Result = IntPtr.Zero; } else { base.WndProc( ref m ); } } } 別ウィンドウで開く すべて選択してコピー ダウンロード 行番号を表示する Public Class Form1 Inherits System.Windows.Forms.Form #Region " Windows フォーム デザイナで生成されたコード " #End Region ' WndProcメソッドをオーバーライドし ' ALT+F4で閉じることができないようにする Protected Overrides Sub WndProc(ByRef m As Message) Const WM_SYSKEYDOWN As Integer = &H104 Const VK_F4 As Integer = &H73 ' ウィンドウを閉じない If m.Msg = WM_SYSKEYDOWN AndAlso m.WParam.ToInt32() = VK_F4 Then ' ALT+F4に対する処理を行わない m.Result = IntPtr.Zero Else MyBase.WndProc(m) End If End Sub End Class