此方法锁定不了组合键。锁定组合键的方法自己没搞定。

 detectUSB
{
    public partial class Form1 : Form
    {
        [DllImport(
"User32.dll")] //需要using System.Runtime.InteropServices
        static extern void BlockInput(bool block);//阻塞函数

        
public Form1()
        {
            InitializeComponent();
        }

        
protected override void WndProc(ref Message m)
        {
            
const int WM_DEVICECHANGE = 0x219;// 发生设备变动
            const int WM_DEVICEARRVIAL = 0x8000;//如果m.Msg的值为0x8000那么表示有U盘插入
            const int WM_DEVICEMOVECOMPLETE = 0x8004;//系统完成移除一个设备
            
//const int DBT_DEVTYP_VOLUME = 0x00000002;// 逻辑卷标

            
switch (m.Msg)
            {
                
case WM_DEVICECHANGE:
                    
switch (m.WParam.ToInt32())
                    {
                        
case WM_DEVICEARRVIAL:
                            BlockInput(
true); //锁定键盘和鼠标,但无法锁定ctrl+alt+del 
                            break;
                        
case WM_DEVICEMOVECOMPLETE:
                            BlockInput(
false);//键盘和鼠标解锁    
                            break;
                    }
                    
break;
            }

            
base.WndProc(ref m);
        }

    }
}

相关文章:

  • 2021-05-03
  • 2022-01-06
  • 2022-12-23
  • 2022-12-23
  • 2022-01-09
猜你喜欢
  • 2022-12-23
  • 2021-09-06
  • 2021-12-19
  • 2022-12-23
  • 2022-01-12
  • 2022-12-23
相关资源
相似解决方案