摘录于《Windows程序(第5版,珍藏版).CHarles.Petzold 著》P175
应用程序从 Windows 接收的关于键盘事件的消息可分为击键和字符两种。这与你看待键盘的两种方式是一致的。
首先,你可以认为键盘是键的集合。键盘上仅有一个键表示为“A”。按下此键是一次击键,释放此键也认为是一次击键。同时键盘也是能产生可显示字符或者控制字符的输入设备。“A”键能产生一些不同的字符,这取决于同 Ctrl、Shift、Caps Lock 键的组合。通常地,此字符为小写字母“a”。如果 Shift 键被按下或者 Caps Lock 键被锁定,此字符就为大写字母“A”。如果 Ctrl 键被按下,则此字符就是 Ctrl+A(它在 ASCII 码中有意义,但是在 Windows 里,就可能是一个键盘快捷键)。在一些键盘上,可能会有死字符键或者 Shfit、Ctrl、Alt 键与“A”键的组合。这种组合能产生带重音符号的小写字母或大写字母例如,à、á、â、Ä、或 Å 等。
对产生可显示字符的击键组合,Windows 在发送击键消息的同时还发送字符消息。有些键不产生字母,如 Shift 键、功能键、光标移动键和特殊字符键(如 Insert 键和 Delete 键)。对于这些键,Windows 只产生击键消息。