gpt4 book ai didi

delphi - keybd_event中的bScan参数值0x45是什么意思?

转载 作者:行者123 更新时间:2023-12-03 15:29:07 24 4
gpt4 key购买 nike

Many examples使用 keybd_event ,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 的主要原因之一。

关于delphi - keybd_event中的bScan参数值0x45是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15062577/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com