- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Text;
- using System.Windows.Forms;
- using System.Runtime.InteropServices;
- namespace sn设置键盘大小写
- {
- public partial class Form1 : Form
- {
- const uint KEYEVENTF_EXTENDEDKEY = 0x1;
- const uint KEYEVENTF_KEYUP = 0x2;
- [DllImport("user32.dll")]
- static extern short GetKeyState(int nVirtKey);
- [DllImport("user32.dll")]
- static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, uint dwExtraInfo);
- public enum VirtualKeys : byte
- {
- VK_NUMLOCK = 0x90, //数字锁定键
- VK_SCROLL = 0x91, //滚动锁定
- VK_CAPITAL = 0x14, //大小写锁定
- VK_A = 62
- }
- public Form1()
- {
- InitializeComponent();
- }
- public static bool GetState(VirtualKeys Key)
- {
- return (GetKeyState((int)Key)==1);
- }
- public static void SetState(VirtualKeys Key, bool State)
- {
- if (State != GetState(Key))
- {
- keybd_event((byte)Key, 0x45, KEYEVENTF_EXTENDEDKEY | 0, 0);
- keybd_event((byte)Key, 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0);
- }
- }
- //开启键盘大写
- private void btnOpenCAPITAL_Click(object sender, EventArgs e)
- {
- SetState(VirtualKeys.VK_CAPITAL, true);
- }
- //关闭键盘大写
- private void btnCloseCAPITAL_Click(object sender, EventArgs e)
- {
- SetState(VirtualKeys.VK_CAPITAL, false);
- }
- //开启键盘滚动锁定
- private void btnOpenScroll_Click(object sender, EventArgs e)
- {
- SetState(VirtualKeys.VK_SCROLL, true);
- }
- //关闭键盘滚动锁定
- private void btnCloseScroll_Click(object sender, EventArgs e)
- {
- SetState(VirtualKeys.VK_SCROLL, false);
- }
- //开启键盘数字锁定键
- private void btnOpenNum_Click(object sender, EventArgs e)
- {
- SetState(VirtualKeys.VK_NUMLOCK, true);
- }
- //关闭键盘数字锁定键
- private void btnCloseNum_Click(object sender, EventArgs e)
- {
- SetState(VirtualKeys.VK_NUMLOCK, false);
- }
- }
- }
- //该片段来自于http://www.codesnippet.cn/detail/240620134248.html
来源: http://www.codesnippet.cn/detail/240620134248.html