最近我的电脑经常在接上外接键盘和不接外接键盘之间来回.经常接键盘的时候喜欢开上小键盘,完事之后又忘记切换回来.而后就在网上简单搜了下相关的能在屏幕上显示键盘的三个锁定(大写.数字,滚动)状态的软件.但是竟然没有找到.......于是就自己写了个.和大家分享下
下面贴一下主要的源码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using Microsoft.Win32;
using System.Diagnostics;
namespace ShowKeyLockMode
{
public partial class IsKeyLock : Form
{
string path = Process.GetCurrentProcess().MainModule.FileName;
const uint KEYEVENTF_EXTENDEDKEY = 0x1;
const uint KEYEVENTF_KEYUP = 0x2;
public enum VirtualKeys : byte
{
VK_NUMLOCK = 0x90, //数字锁定键
VK_SCROLL = 0x91, //滚动锁定
VK_CAPITAL = 0x14, //大小写锁定
}
[DllImport("user32.dll")]
static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, uint dwExtraInfo);
/// <summary>
/// 大写是否锁定
/// </summary>
public bool IsCapsLocked()
{
return IsKeyLocked(Keys.CapsLock);
}
/// <summary>
/// 小键盘是否锁定
/// </summary>
/// <returns></returns>
public bool IsNumberLock()
{
return IsKeyLocked(Keys.NumLock);
}
/// <summary>
/// 滚动是否锁定
/// </summary