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 键关闭");
}
}
}
}