QQ登录

只需一步,快速开始

搜索
【活动】边做笔记边学习,还能赢取奖学金!
查看: 116|回复: 0

[学习笔记] 《Windows SDK》033 击键消息

[复制链接]
累计签到:72 天
连续签到:48 天
最佳答案
3 
发表于 2017-8-4 14:39:02 | 显示全部楼层 |阅读模式

马上注册加入鱼C,享用更多服务吧^_^

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
一 核心知识点
* 人机交互主要是通过鼠标键盘完成
鼠标左右键点击对应 WM_LBUTTONDOWN 和 WM_RBUTTONDOWN
鼠标的滚轮操作对于 WM_VSCROLL
键盘的消息则对应的是 WM_KEYDOEN 和 WM_KEYUP

* 击键消息响应机制
通过消息的 wParam 参数获得击键对于的虚拟键代码
通过消息的 lParam 参数获得击键的其他内容,包括击键次数、OEM扫描码等

在消息处理代码中,通过判断 wParam 参数来响应用户击键的要求

* Virtual-Key Codes
虚拟键代码用于提供一套统一的击键编码
其具体值均为宏定义的整形数值,一般用VK_开头,后面跟着其意图的单词,比如 VK_TAB(退格键)

* 主动提出消息申请
有的时候,需要 Windows 对当前的需求立即响应,或者当前需要实现其他消息一样的功能时,
可以通过 SendMessage 函数来发送消息给Windows


二 新 MSG结构 和 API函数
* WM_KEYDOWN 和 WM_KEYUP
这两个消息在用户使用键盘时产生

这两个消息都是通过 wParam 和 lParam 参数携带用户需求

这两个消息还有“系统专属”版本,即当用户同时按下 alt + 某键 时将发送 WM_SYSKEYDOWN 和 WM_SYSKEYUP


* SendMessage(hwnd, WM_VSCROLL, SB_TOP, 0)
该函数将指定的消息发送给某个窗口

第一个参数:接受消息的窗口句柄
第二个参数:指定的消息
第三四个参数:指定消息的wParam和lParam参数

该函数会直接调用目标窗口的进程,直到其结束才返回

本帖被以下淘专辑推荐:

1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

小甲鱼强烈推荐上一条 /1 下一条

小黑屋手机版Archiver( 粤公网安备 44051102000370号 | 粤ICP备11014136号

© 2010-2017 FishC.com GMT+8, 2017-8-20 04:32 Powered by Discuz! X2.5 Theme by dreambred

快速回复 返回顶部 返回列表