【发布时间】:2014-09-08 12:52:30
【问题描述】:
是否有可靠的跨平台方式以编程方式获取和设置 Lazarus / Free Pascal 中的 NumLock 状态?
我在LclIntf 中找到了GetKeyState(),它似乎可以用于获取状态(并且显然是跨平台的),但我找不到等效的SetKeyState()。
【问题讨论】:
标签: lazarus freepascal num-lock
是否有可靠的跨平台方式以编程方式获取和设置 Lazarus / Free Pascal 中的 NumLock 状态?
我在LclIntf 中找到了GetKeyState(),它似乎可以用于获取状态(并且显然是跨平台的),但我找不到等效的SetKeyState()。
【问题讨论】:
标签: lazarus freepascal num-lock
设置 LED 很少是用户态 API 的一部分,因为键盘 LED 是硬件,在大多数系统上都需要管理员访问权限。
IIRC 我使用控制台单元为 FreeBSD 做过一次。 (基本上发送 IOCTL),Linux 可能类似。
对于 Windows,我找到了 http://support.microsoft.com/kb/177674/en-us,但事实上它不是一个通用调用,并且在 win9x 和 winnt 之间存在差异这一事实就足够了。
【讨论】: