扫描码 是键盘对应按键的编码 ,虚拟键码 是操作系统对 对应按键的编码键盘ASCII码 是操作系统对对应 虚拟键码的编码(ASCII编码)
当用户按下某个键时, 1.键盘会检测到这个动作,并通过 键盘控制器 把 扫描码(scan code) 传送到计算机;
键盘扫描码跟具体的硬件有关的,不同厂商对同一个键的扫描码有可能不同。
2.计算机接收到 扫描码 后,将其交给 键盘 驱动程序 ;
3. 键盘驱动程序 把这个 扫描码 转换为 键盘虚拟码 ;
虚拟码与具体硬件无关,不同厂商的键盘,同一个键 的 虚拟码 总是相同的。
4.然后,键盘驱动程序 把该键盘操作的 扫描码 和 虚拟码 以及 其它信息 传递给 操作系统;
5.操作 系统将获得 的信息封装在一个 键盘消息 中,并把该 键盘消息 插入到 消息列队。
5.通过Windows的 消息系统,该 键盘消息 被送到 某个窗口 中;
6.窗口所在的应用程序 接收到消息后,可以了解到有关 键盘操作的信息,然后决定作出一定的响应