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);
    }
  }
}

C#控制键盘按键的常用方法相关推荐

  1. js控制键盘按键(回车、空格)

    js控制键盘按键(回车.空格) <script type="text/javascript">$(function(){ $(document).keypress(fu ...

  2. 怎样控制键盘按键自动填写网页表单

    浏览器中使用模拟键盘按键填写网页表单,不但可以完成数据输入,输入时还能真实地触发键盘元素绑定的键盘事件. 打开木头浏览器的工具菜单,进入项目管理容器,创建"填写内容"步骤,并打开百 ...

  3. python控制键盘按键_如何通过Python生成键盘按键事件来控制PP的表示?

    您可以为Python使用Quartz库,例如#!/usr/bin/python # Script simulating keyboard events in macOS. # See: https:/ ...

  4. 按键精灵初步,使用winIO实现驱动级模拟按键

    winIO是目前非常古老的技术,是用底层驱动来实现程序控制键盘按键,要使用winIO,需要用到两个文件WinIo64.dll,与WinIo64.sys. 也有32为的 WinIO32.dll, Win ...

  5. 虚幻4 UE4 绑定按键操作及切换视角

    虚幻4绑定按键操作切换视角 虚幻4绑定按键操作 常用方法 点击编辑->项目设置->引擎->输入 这里有两种映射.如果按键不需要值,如跑步速度等,则使用操作映射即可:如果需要值,则使用 ...

  6. python控制鼠标点击标准模块_Python直接控制鼠标键盘模块 pyautogui

    pip install pyautogui 官网: http://pyautogui.readthedocs.io/en/latest/ github: https://github.com/aswe ...

  7. C++实现贪吃蛇(多线程,窗口设置,链表,音乐播放)

    游戏介绍 有一条蛇,在屏幕上爬,用上下左右键控制吃东西,吃得多了,到了一定积分,就能过关.越吃越长,不能碰墙,不能咬自己的尾巴,没了,哈哈. 这个蛇是条很有个性的蛇它会吃多少吐多少(如果要取消这个特性 ...

  8. Python如何写出一个自动弹钢琴脚本,轻松弹奏出歌曲

    前言 现在发游戏是都没人看了吗 唉 那就来看看这个吧 写了个自动弹钢琴的脚本 没人看之后就不发了! 效果展示 需要代码 / 素材的文末名片自取 我们先来看看最终实现效果,上传视频太麻烦了,只能弄个GI ...

  9. 豆浆机改装记(0): 为什么要改装豆浆机!

    技术交流QQ:1356438802 欢迎留言!^_^ 去年给爸妈买了一个豆浆机,因为老爸生了病,想着给他补充点营养,家里那只小馋猫(5岁的小妹妹)也好喝一喝.于是在京东上面下了单,买了个美的的豆浆机, ...

最新文章

  1. 探讨DHCP之一:了解DHCP
  2. Design Pattern - Mediator(C#)
  3. ROS集成开发环境搭建
  4. 干货 | 五大实例详解,携程 Redis 跨机房双向同步实践
  5. Xquery 被设计用来查询 XML 数据
  6. selenium java session_Selenium Java浏览器会话重用
  7. 容器源码解析之LinkedHashMap(九)
  8. 在Activity不可见时暂停WebView的语音播放,可见时继续播放之前的语音
  9. linux如何挂载nfs目录,linux – NFS导出已经挂载NFS的目录(在服务器上)
  10. Ubuntu14.04安装ROS
  11. 程序员简历的10不要与7要
  12. Python txt转换为excel
  13. qt中将数据存入文档再读出------------ writeRawData 与readRawData成对使用
  14. eclipse优化配置
  15. 有限元分析简单实例之平面矩形薄板(matlab)
  16. win7建行捷德U盾无法使用
  17. 第一款在太空中使用的芯片
  18. java计算机毕业设计咖啡馆管理系统源程序+mysql+系统+lw文档+远程调试
  19. 纯HTML+CSS+js实现大型企业站小米商城官网之注册页面
  20. 这篇文章不错,仔细读读,码农晋升为技术管理者后,痛并快乐着的纠结内心...

热门文章

  1. MATLAB学习笔记(一)常值函数与跳变函数的绘制
  2. Excel计算时间差(精确到分钟、秒)
  3. 九章算法 | 苏州微软面试题:程序检查
  4. poi-java导出word的表格中换行
  5. 明星里程被盗?看区块链如何加强个人信息安全保护
  6. macOS手动启动 Simulator(ios模拟器)
  7. 12.5计算机导论课后总结
  8. VUE使用docxtemplater导出word(带图片)
  9. 极光笔记丨百亿级数据的实时存取优化与实践
  10. php微信授权ajax,ajax 实现微信网页授权登录