Windows应用程序对键盘与鼠标的响应总结

原创 2007年09月20日 00:11:00

键盘: 

1、键盘上每一个有意义的键都对应着一个唯一的标识值,称为扫描码。

2、WINDOWS 系统定义的与设备无关的键的标识,称为虚拟码。虚拟码是;一种与设备无关的键盘编码,它的值存放在键盘消息的wParam参数中,最常用的虚拟码;已经在windows.h中定义;

3、键盘消息可以分为两类,即按键消息和字符消息。按键消息又可分为两类:系统按键消息和非系统按键消息。

(系统消息对应与使用Alt键与相关输入键的组合产生的消息,一般由Windows系统内部直接处理应用程序一般不处理,如果应用程序处理了这些系统键消息,就要调用DefWindowPro()函数以便不影响Windows对他们的处理)

按键消息的两个变量wParam和lParam中包含了许多的重要信息,其中wParam参数包含了识别按下的键的虚键码。

在WinMain函数的消息循环中包含了TranslateMessage函数,它的主要功能是把按键消息转化为字符消息,但只有当键盘驱动程序把键盘字符映射成ASCII码后才能产生WM_CHAR消息。

例:

常用的虚拟码:VK_ENTER  Enter键  VK_SHIFT Shift键  等;

按键消息:WM_KEYDOWN 非系统 按下   WM_KEYUP  非系统  松开

                  WM_SYSKEYDOWN 系统 按下   WM_SYSKEYUP 系统 松开

字符消息:WM_CHAR 非系统 字符            WM_DEADCHAR   非系统   死字符

                   WM_SYSCHAR  系统 字符        WM_SYSDEADCHAR  系统   死字符

鼠标:

1、可以通过LoadCursor函数来加载光标资源

重点:能接收鼠标事件的窗口并不一定要求是活动窗口或者是具有输入焦点的窗口;

在鼠标消息中,参lParam包含了鼠标光标位置,lParam字的低位包含了鼠标光标位置的x坐标值,lParam 字的高位包含了鼠标光标位置的y值。参数wParam内包含了一个指示各种虚键状态的值。

2、对鼠标消息的处理,一般分为两种,一种是要对Shift和Ctrl键进行监测,另一种则不监测;

例如:

1:   case WM_LBUTTONDOWN:

        if((wParm&MK_CONTROL)&&(wParam & MK_SHIFT))  //Shift 和Ctrl都按下

      break;

2:  case WM_LBUTTONDOWN:

     ...

    break;

3、若要使窗口函数能接收鼠标双击产生的消息,则在注册窗口类时必须注明该窗口类具有CS_DBLCLKS属性

定义方式如下:

wndclass.style=CS_HREDRAW| CS_VREDRAW|CS_DBLCLKS;

4、对于非用户区鼠标消息,将送往函数DefWindowProc进行处理。

5、调用SetCapture()函数即可实现对鼠标的捕捉,如SetCapture(hWnd);就可以向句柄为hWnd的窗口发送所有的鼠标消息。当调用完后,通过ReleaseCapture()函数释放鼠标,以便其他窗口可以正常地接收鼠标信息。

【win32】鼠标响应事件

对比于《【mfc】鼠标、键盘响应事件》(点击打开链接),win32的鼠标响应事件更能揭示出窗体程序的本质。鼠标响应事件同样在窗体程序的消息回调函数LRESULT CALLBACK WndProc(HW...
  • yongh701
  • yongh701
  • 2017年02月11日 20:51
  • 2678

【mfc】鼠标、键盘响应事件

对于mfc这东西,你真的必要跟我扯一大堆怎么类,什么派生,什么鬼东西 告诉我怎么做出一个个小功能,我记住它就可以了 这期为大家带来MFC的鼠标响应事件 这也是所谓的MFC中的“消息映射事件” 一、...
  • yongh701
  • yongh701
  • 2015年01月07日 11:58
  • 4764

mfc 关于不响应键盘消息的处理

一:首先介绍键盘消息 系统消息:     ALT,F1,——F24等,是由系统内部处理的,程序本身就存在,比如F1是帮助键。     WM_SYSKEYDOWN     WM_SYSKEYUP    ...
  • cheng_xu_yuanlilin
  • cheng_xu_yuanlilin
  • 2013年12月23日 23:07
  • 2880

Windows应用程序对键盘和鼠标的响应

  • 2015年04月10日 21:35
  • 5KB
  • 下载

Windows应用程序-键盘鼠标事件

设计一个窗口,在该窗口中练习键盘的响应,要求如下: (1) 单击键盘上的向上箭头时,窗口中显示“You had hitted the up key” (2) 单击键时,窗口中显示“You ...
  • sinat_32582203
  • sinat_32582203
  • 2017年06月14日 18:19
  • 88

利用钩子函数来捕捉键盘响应的windows应用程序

转自:http://edu.qudong.com/program/C/shilijiexi/20080512/11946.html   一:引言: 你也许一直对金山词霸的屏幕抓词的实现原理感到...
  • tianya0yinzi
  • tianya0yinzi
  • 2012年07月07日 22:13
  • 509

用应用程序模拟键盘和鼠标按键

Windows大行其道的今天,windows界面程序受到广大用户的欢迎。对这些程序的操作不外乎两种,键盘输入控制和鼠标输入控制。有时,对于繁杂的,或重复性的输入操作,我们能否通过编制程序来代替手工输入...
  • playboy1
  • playboy1
  • 2011年10月18日 15:42
  • 259

windows应用程序鼠标与画图

  • 2015年04月10日 21:40
  • 3KB
  • 下载

windows绑定应用程序快捷方式到鼠标右键

不喜欢把文件和一堆快捷方式放桌面的小伙伴,有没有想过把它们绑定到鼠标右键呢,来吧,一起看看怎么绑定。 步骤如下: 打开注册表,命令行输入regedit;找到绑定的位置:HKEY_CLASSES_R...
  • u010250863
  • u010250863
  • 2016年08月27日 19:43
  • 395

windows基础应用程序编程(六)键盘消息

简介 在windows系统中,键盘和鼠标是两个很重要的外设装置,如果我们需要让我们的应用程序对鼠标和键盘来进行响应。那么我就就需要相应对应的鼠标和键盘消息,接下来,我么首先了解一下关于键盘消息的内容...
  • zhbmd
  • zhbmd
  • 2014年09月23日 22:48
  • 511
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Windows应用程序对键盘与鼠标的响应总结
举报原因:
原因补充:

(最多只允许输入30个字)