屏蔽Alt+Tab,win,Alt+F4,Ctrl+AltDel

解决方案 »

  1.   

    如果是在窗体内捕捉,可以通过捕获KeyDown事件来判断按下的按键,然后达到屏蔽的目的
      

  2.   

    另外,还可以通过调用user32.dll实现.using System.Runtime.InteropServices;//其他using就省略了namespace WindowsApplication1
    {
        public partial class Form1 : Form
        {
            [DllImport("user32.dll", SetLastError = true)]
            public static extern bool RegisterHotKey(
             IntPtr hWnd,
              int id,
             int fsModifiers,//alt = 1, none = 0, win = 8;
             Keys virtualKey
            );        [DllImport("user32.dll", SetLastError = true)]
            public static extern bool UnregisterHotKey(
             IntPtr hWnd,
             int id
            );
            public Form1()
            {
                InitializeComponent();
            }        protected override void WndProc(ref Message m)
            {
                const int WM_HOTKEY = 0x0312;//按快捷键
                switch (m.Msg)
                {
                    case WM_HOTKEY:
                        ProcessHotkey();//调用主处理程序
                        break;
                }
                base.WndProc(ref m);
            }
            void ProcessHotkey()
            {
                //这里是处理快捷键的地方,为空就好了
            }
            private void Form1_Load(object sender, EventArgs e)
            {
                RegisterHotKey(Handle, 100, 1, Keys.F4);
            }
            private void Form1_FormClosing(object sender, FormClosingEventArgs e)
            {
                UnregisterHotKey(Handle, 100);
            }
        }
    }