using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Runtime.InteropServices; namespace 判断是否打开Caps_Lock键 { public partial class Form1 : Form { public Form1() { InitializeComponent(); IsCapsLocked(); } [DllImport("user32.dll")] static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, UIntPtr dwExtraInfo); const int KEYEVENTF_EXTENDEDKEY = 0x1; const int KEYEVENTF_KEYUP = 0x2; private void IsCapsLocked() { //if (Console.CapsLock) // 方法1:表示Caps Lock 键打开 if (Control.IsKeyLocked(Keys.CapsLock)) // 方法2:表示Caps Lock 键打开 { MessageBox.Show("Caps Lock 键已打开,将关闭它"); keybd_event(0x14, 0x45, KEYEVENTF_EXTENDEDKEY, (UIntPtr)0); keybd_event(0x14, 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, (UIntPtr)0); } else { MessageBox.Show("Caps Lock 键关闭"); } } } }