C# 禁止ALT+F4

1. Windows Forms中禁用窗体的关闭按钮

添加必要的命名空间及常数和API函数的引用
   
     
using System.Runtime.InteropServices;

private const int SC_CLOSE = 0xF060 ;

private const int MF_ENABLED = 0x00000000 ;

private const int MF_GRAYED = 0x00000001 ;

private const int MF_DISABLED = 0x00000002 ;



[DllImport(
" user32.dll " , EntryPoint = " GetSystemMenu " )]

private static extern IntPtr GetSystemMenu(IntPtr hWnd, int bRevert);

[DllImport(
" User32.dll " )]

public static extern bool EnableMenuItem(IntPtr hMenu, int uIDEnableItem, int uEnable);

 

在窗体的Load事件处理函数内添加代码

  
    
private void Form6_Load( object sender, EventArgs e)

{
IntPtr hMenu
= GetSystemMenu( this .Handle, 0 );
EnableMenuItem(hMenu, SC_CLOSE, MF_DISABLED
| MF_GRAYED);

}

 

2. Windows Forms中禁用窗体的关闭按钮和ALT+F4关闭

代码
   
     
protected override CreateParams CreateParams

{
get
{
const int CS_NOCLOSE = 0x200 ;
CreateParams cp
= base .CreateParams;
cp.ClassStyle
= cp.ClassStyle | CS_NOCLOSE;
return cp;
}

}

 

你可能感兴趣的:(C#)