我的上网本支持触控板上的多点触控手势。当您向左或向右滑动三指时,它会向活动窗口发送一些消息 - 对于某些窗口,这意味着发送页面向上/向下按键。
根据Spy ++的说法,为刷卡发送的实际消息是:
我的问题是:这个0xFF虚拟密钥代码是什么,是否在某处记录?在winuser.h中没有相应的#define。
答案 0 :(得分:3)
在大多数笔记本电脑上,VK 0xff对应于“Fn”键。
答案 1 :(得分:1)
0xFF
是键盘布局代码中使用的值,表示"没有映射"。这是在Windows DDK / SDK的kbd.h
中定义的方式:
#define VK__none_ 0xFF
没有指定含义的每个扫描代码都通过宏映射到此虚拟键代码。例如,扫描代码0没有映射:
#define T00 _EQ( _none_ )
如果Fn键产生0xFF,那是因为Fn键的扫描码没有映射,不是因为0xFF表示Fn键。 Fn键没有标准扫描码;这取决于制造商,因此不太可能映射到标准键盘布局中有意义的任何内容。
至于为什么会发送VK 0xFF:它可能不是。制造商特定的按键和按钮有时会(从硬件)发送扫描代码,该代码未映射到任何内容,但可以通过扫描代码检测到。当制造商的软件检测到密钥时,它会采取一些操作,例如发送VK_NEXT(但可能操作取决于设置或哪个应用程序具有焦点)。焦点应用程序也会看到按键,但通常什么都不做,因为没有该扫描代码的映射(wParam为0xFF)。
您可以在WM_KEYDOWN消息的lParam的16-23位找到扫描码。