加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – keybd_event中bScan参数值0x45的含义是什么?

发布时间:2020-12-15 09:28:30 所属栏目:大数据 来源:网络整理
导读:使用 keybd_event的 Many examples,bScan参数的值为0x45. 0x45值是什么意思? 我的印象是0x45 was a keyboard scancode,但由于它用于各种数量的键,我不再那么肯定了. 我的目标是使用来自.NET P / Invoke或Delphi的keybd_event,并使类型更具限制性(使用例如枚
使用 keybd_event的 Many examples,bScan参数的值为0x45.

0x45值是什么意思?

我的印象是0x45 was a keyboard scancode,但由于它用于各种数量的键,我不再那么肯定了.

我的目标是使用来自.NET P / Invoke或Delphi的keybd_event,并使类型更具限制性(使用例如枚举或标记的枚举),以便我的代码变得更容易维护.

解决方法

它确实是一个扫描码,对于许多键盘来说,它是NumLock键的扫描码.

附加到keybd_event文档的示例代码是如何切换NumLock状态的示例.因此,自然使用0x45作为扫描码.我的猜测是你发现的很多其他例子只是盲目地复制了keybd_event MSDN示例中的值.从applications typically ignore the scan code开始并响应虚拟键代码,通常作为扫描代码传递的值无关紧要.

最后,您将要使用SendInput而不是keybd_event.原因是前者允许您在队列中放置一系列事件.使用keybd_event,您可以将事件一次放入队列中,并且您的伪造事件可能会散布在真实事件中.而这个问题是引入SendInput的主要原因之一.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读