【转】C#检查键盘大小写锁定状态的方法

转自:

本文实例讲述了C#检查键盘大小写锁定状态的方法。分享给大家供大家参考。具体分析如下:

1、命名空间:

1

using System.Runtime.InteropServices;

2、导入方法

1

2

[DllImport("user32.dll", EntryPoint = "GetKeyboardState")]

public static extern int GetKeyboardState(byte[] pbKeyState);

3、大小写状态

1

2

3

4

5

6

7

8

9

public static bool CapsLockStatus

{

get

{

byte[] bs = new byte[256];

GetKeyboardState(bs);

return (bs[0x14] == 1);

}

}

4、引用,此部分根据你的需要来修改

1

2

3

4

5

6

7

private void button2_Click(object sender, EventArgs e)

{

if (CapsLockStatus == true)

MessageBox.Show("键盘处于大写锁定状态!");

else

MessageBox.Show("键盘处于小写状态!");

}

5.键盘VK键值表---完整

键盘VK键值列表
/* Virtual Keys, Standard Set*/
VK_LBUTTON                                      0x01
VK_RBUTTON                                     0x02
VK_CANCEL                                    0x03
VK_MBUTTON                                     0x04
#define VK_LBUTTON        0x01    //鼠标左键
#define VK_RBUTTON        0x02    //鼠标右键 
#define VK_CANCEL         0x03    //Ctrl + Break
#define VK_MBUTTON        0x04    //鼠标中键/* NOT contiguous with L & RBUTTON */
#define VK_BACK           0x08   //Backspace 键
#define VK_TAB            0x09   //Tab 键
#define VK_CLEAR          0x0C
#define VK_RETURN         0x0D   //回车键
#define VK_SHIFT          0x10
#define VK_CONTROL        0x11
#define VK_MENU           0x12   //Alt 键
#define VK_PAUSE          0x13
#define VK_CAPITAL        0x14   //Caps Lock 键 
#define VK_KANA           0x15
#define VK_HANGEUL        0x15 /* old name - should be here for compatibility */
#define VK_HANGUL         0x15
#define VK_JUNJA          0x17
#define VK_FINAL          0x18
#define VK_HANJA          0x19
#define VK_KANJI          0x19
#define VK_ESCAPE         0x1B   //Esc 键
#define VK_CONVERT        0x1C
#define VK_NONCONVERT     0x1D
#define VK_ACCEPT         0x1E
#define VK_MODECHANGE     0x1F
#define VK_SPACE          0x20   //空格
#define VK_PRIOR          0x21   //Page Up 键
#define VK_NEXT           0x22   //Page Down 键
#define VK_END            0x23   //End 键
#define VK_HOME           0x24   //Home 键
#define VK_LEFT           0x25  /*方向键*/
#define VK_UP             0x26
#define VK_RIGHT          0x27
#define VK_DOWN           0x28
#define VK_SELECT         0x29
#define VK_PRINT          0x2A
#define VK_EXECUTE        0x2B
#define VK_SNAPSHOT       0x2C   //Print Screen 键
#define VK_INSERT         0x2D  //Insert键
#define VK_DELETE         0x2E  //Delete键
#define VK_HELP           0x2F
/* VK_0 thru VK_9 are the same as ASCII '0' thru '9' (0x30 - 0x39) */
/* VK_A thru VK_Z are the same as ASCII 'A' thru 'Z' (0x41 - 0x5A) */
#define VK_LWIN           0x5B //左WinKey(104键盘才有) 
#define VK_RWIN           0x5C //右WinKey(104键盘才有)
#define VK_APPS           0x5D //AppsKey(104键盘才有) 
#define VK_NUMPAD0        0x60 //小键盘0-9
#define VK_NUMPAD1        0x61
#define VK_NUMPAD2        0x62
#define VK_NUMPAD3        0x63
#define VK_NUMPAD4        0x64
#define VK_NUMPAD5        0x65
#define VK_NUMPAD6        0x66
#define VK_NUMPAD7        0x67
#define VK_NUMPAD8        0x68
#define VK_NUMPAD9        0x69
#define VK_MULTIPLY       0x6A //乘
#define VK_ADD            0x6B //加
#define VK_SEPARATOR      0x6C //除
#define VK_SUBTRACT       0x6D //减
#define VK_DECIMAL        0x6E //小数点
#define VK_DIVIDE         0x6F 
#define VK_F1             0x70 //功能键F1-F24
#define VK_F2             0x71
#define VK_F3             0x72
#define VK_F4             0x73
#define VK_F5             0x74
#define VK_F6             0x75
#define VK_F7             0x76
#define VK_F8             0x77
#define VK_F9             0x78
#define VK_F10            0x79
#define VK_F11            0x7A
#define VK_F12            0x7B
#define VK_F13            0x7C
#define VK_F14            0x7D
#define VK_F15            0x7E
#define VK_F16            0x7F
#define VK_F17            0x80
#define VK_F18            0x81
#define VK_F19            0x82
#define VK_F20            0x83
#define VK_F21            0x84
#define VK_F22            0x85
#define VK_F23            0x86
#define VK_F24            0x87
#define VK_NUMLOCK        0x90 //Num Lock 键
#define VK_SCROLL         0x91 //Scroll Lock 键
/*
* VK_L* & VK_R* - left and right Alt, Ctrl and Shift virtual keys.
* Used only as parameters to GetAsyncKeyState() and GetKeyState().
* No other API or message will distinguish left and right keys in this way.
*/
#define VK_LSHIFT          0xA0
#define VK_RSHIFT          0xA1
#define VK_LCONTROL        0xA2
#define VK_RCONTROL        0xA3
#define VK_LMENU           0xA4
#define VK_RMENU           0xA5
#if(WINVER >= 0x0400)
#define VK_PROCESSKEY      0xE5
#endif /* WINVER >= 0x0400 */
#define VK_ATTN            0xF6
#define VK_CRSEL           0xF7
#define VK_EXSEL           0xF8
#define VK_EREOF           0xF9
#define VK_PLAY            0xFA
#define VK_ZOOM            0xFB
#define VK_NONAME          0xFC
#define VK_PA1             0xFD
#define VK_OEM_CLEAR       0xFE

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/435895.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机系统的备份与还原实验报告,数据库《数据备份与还原》实验报告.doc

《数据库《数据备份与还原》实验报告.doc》由会员分享,提供在线免费全文阅读可下载,此文档格式为doc,更多相关《数据库《数据备份与还原》实验报告.doc》文档请在天天文库搜索。1、xx大学计算机与信息技术学院实验报告姓 名学 号…

jquery智能提示

中文提示文件http://code.google.com/p/csm-ui/downloads/list aspx页面编写时候<script src"http://www.cnblogs.com/Scripts/jquery-1.3.2.min.js" type"text/javascript"></script><script src"http://www.cnblogs.com/Scripts/jqu…

【转】matlab函数编译成dll供Cpp调用的方法

转自&#xff1a;https://www.cnblogs.com/vincenzo/archive/2009/09/09/1563467.html 以前做过matlab7与c的混合编程&#xff1a;将m函数编译成dll给C调用&#xff0c;从而加快开发的进度。但是今天在matlab2008b下面又做了一遍&#xff0c;发现matlab又改了很多东西&#xf…

可以测试流放之路伤害的软件,测试平台及细节一览 - 《流放之路》国服硬件需求测试:低配也能续写ARPG传奇 - 超能网...

测试平台、场景说明测试平台测试平台配置主要分为两套&#xff0c;第一套配置为Skylake平台基础搭建的ASUS MAXIMUS VIIIGEN(Z170)主板&#xff0c;处理器为Intel Core i7-6700K&#xff0c;内存是G.Skill Ripjaws V 4GB DDR43200x2组成的双通道&#xff1b;第二套配置为Kaveri…

关于增强(五)-Class Enhancement

Class/Interface增强允许增加&#xff0c; 对已有的方法增加可选参数 添加方法&#xff0c;事件&#xff0c;事件处理 参考接口 对存在的方法添加出口&#xff0c;其中包括方法开始前的出口&#xff08;Pre-Exit&#xff09;&#xff0c;方法结束快结束的出口(Post-Exit)&#…

VxWorks基本OS介绍

这里我就偷点懒&#xff0c;直接复制粘贴文档了。可能会有一些图片无法显示 &#xff0c;可以直接管我索要文档。 每一个被切换的程序实体就是“任务”。每一个任务都有其自己的上下文——所谓上下文就是指任务在每一次被核心调度时所需要的CPU环境、系统资源。在上下文的切换…

【转】彻底理解cookie,session,token

转自&#xff1a;https://zhuanlan.zhihu.com/p/63061864 彻底理解cookie&#xff0c;session&#xff0c;token 发展史 1、很久很久以前&#xff0c;Web 基本上就是文档的浏览而已&#xff0c; 既然是浏览&#xff0c;作为服务器&#xff0c; 不需要记录谁在某一段时间里都浏…

四年级信息技术认识计算机,四年级信息技术第三课信息工具知多少

一、教学目标&#xff1a;1、了解信息工具有哪些&#xff1b;2、认识电脑的组成&#xff1b;了解计算机硬件和软件的概念&#xff1b;3、学习开机、关机的步骤。4、建立对计算机的感性认识&#xff0c;培养学生学习、使用计算机的兴趣。二、教学重点&#xff1a;知道电脑是信息…

坐标系统概念

作者:江帆 3推荐一&#xff1a;需要用到的几个基本概念-------- 球面坐标系 1. 几个常涉及到的名词的中英文对照&#xff1a;地形面&#xff08;Topography&#xff09;&#xff1b;大地水准面&#xff08;Geoid&#xff09;&#xff1b;参考椭球面&#xff08;Referen…

VxWorks概念

VxWorks操作系统的集成环境叫Tornado。Tornado集成环境提供了高效明晰的图形化的实时应用开发平台&#xff0c;它包括一套完整的面向嵌入式系统的开发和调测工具。Tornado环境采用主机&#xff0d;目标机交*开发模型&#xff0c;应用程序在主机的Windows环境下编译链接生成可执…

【转】c#数字图像处理(一)Bitmap类、 Bitmapdata类和 Graphics类

转自&#xff1a;https://www.cnblogs.com/dearzhoubi/p/8553763.html Bitmap类、 Bitmapdata类和 Graphics类是C#图像处理中最重要的3个类,如果要用C# 进行图像处理,就一定要掌握它们。 1.1 Bitmap类 Bitmap对象封装了GDI中的一个位图,此位图由图形图像及其属性的像素数据组成…

单片机与PC机一样都是计算机,51单片机与PC机通信资料

《51单片机与PC机通信资料》由会员分享&#xff0c;可在线阅读&#xff0c;更多相关《51单片机与PC机通信资料(14页珍藏版)》请在人人文库网上搜索。1、专业综合实习报告专 业&#xff1a; 电子信息工程 年 级&#xff1a; 2013级 指导教师&#xff1a; 学 生&#xff1a; 目录…

VB6:通过ADO访问Oracle存储过程返回的结果集

微软的MDAC中oledb for oracle 驱动——对过程参数&#xff1a;估计&#xff1a;位置绑定 该驱动最新支持到Oracle8i的水平&#xff0c;且不再更新了使用该驱动。只能使用ODBC的存储过程调用方式&#xff1a; "{call procename (?,?,....)}"只能支持返回一个记录集…

【转】c#数字图像处理(二)彩色图像灰度化,灰度图像二值化

转自&#xff1a;https://www.cnblogs.com/dearzhoubi/p/8571652.html 为加快处理速度,在图像处理算法中,往往需要把彩色图像转换为灰度图像,在灰度图像上得到验证的算法,很容易移 植到彩色图像上。 24位彩色图像每个像素用3个字节表示,每个字节对应着R、G、B分量的亮度(红、绿…

400呼叫中心服务器,400电话呼叫中心服务新模式

呼叫中心模式也很多种&#xff0c;但是以400电话呼叫中心的新服务模式受到了各行各业的关注。现在企业为了提升自己的形象以及办事效率&#xff0c;纷纷办理400电话&#xff0c;对于400电话呼叫中心这一模式也开始积极采用。采用400电话呼叫中心模式也是有其道理的&#xff0c;…

ASP.NET开发安全问题

ASP.NET开发安全问题 前言&#xff1a;之所以想到要写ASP.NET安全问题的文章&#xff0c;是有感于自己的一些经历。想当初自己学习ASP.NET的时候&#xff0c;到处找有关安全方面的文章&#xff0c;当时发现很多文章指示蜻蜓点水的告诉我怎么用&#xff0c;如安全的主要问题有哪…

互斥信号量和二进制信号量

互斥信号量和二进制信号量的区别 互斥型信号量必须是同一个任务申请&#xff0c;同一个任务释放&#xff0c;其他任务释放无效。同一个任务可以递归申请。 二进制信号量&#xff0c;一个任务申请成功后&#xff0c;可以由另一个任务释放。 二进制信号量实现任务互斥&am…

【转】c#数字图像处理(三)灰度直方图

转自&#xff1a;https://www.cnblogs.com/dearzhoubi/p/8621804.html 灰度直方图是灰度的函数,描述的是图像中具有该灰度级的像素的个数。如果用直角坐标系来表示,则它的横坐标是灰度级,纵坐标是该灰度出现的概率(像素的个数)。 using System; using System.Collections.Gener…

电梯门禁系统服务器一般在哪,别被吓住了,电梯门禁(梯控)安装其实并不难...

电梯门禁又称梯控&#xff0c;主要用于对电梯的出入权限进入控制&#xff0c;只有授权卡在读卡器刷过后&#xff0c;才能到达指定楼层。梯控的使用越来越普遍了&#xff0c;很多人觉得梯控很神秘&#xff0c;很高不可攀&#xff0c;其实说到底它不过是门禁的一种&#xff0c;只…

调用Microsoft.Jet.OLEDB.4.0需要MDAC2.7支持

asp.net进行Excel导入时需要调用Microsoft.Jet.OLEDB.4.0 strConn "ProviderMicrosoft.Jet.OLEDB.4.0;Data Source" AimFile ";Extended PropertiesExcel 8.0;"; 需要MDAC (Microsoft Data Access Components) 2.7 或更高版本才能支持. 转载于:https://…