gpt4 book ai didi

delphi - 我可以捕获 Capslock/Shift 按键操作吗?

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

我刚刚发现大写锁定和 Shift 键(可能还有其他一些键)会影响连接到计算机的所有键盘。 (测试我编写的程序的危险之一,我只有两只手,所以我花了很长时间才意识到这样的问题)因此,将击键分开很好,但是 Shift/Caps 锁会让一切变得疯狂(当一个用户切换为大写时,此时所有用户的输入也都会大写)

我可以在 FormKeyPress 中捕获 Capslock 和 Shift 按键吗?还有其他地方吗?
我可以保存 Shift 按键吗? (这样我就可以正确地将“shift”应用到相应的用户输入)

也欢迎任何其他解决此问题的建议。

最佳答案

要检查shift ley是否已关闭,请尝试以下操作:

if GetKeyState(VK_SHIFT)<0 //tests if shiftkey is down
then ShowMessage('shift key is down'');

并检测大写锁定是否打开,请尝试以下操作:

if Odd(GetKeyState(VK_CAPITAL)) //tests if caps lock is on
then showmessage('caps lock is on');

如果您想检查 Shift 和 Capslock 的状态:

      if Odd(GetKeyState(VK_CAPITAL)) then 
if GetKeyState(VK_SHIFT)<0 then
showmessage('capslock is on and shift key is down too')
else
showmessage('capslock is on but shift key is NOT down');

getkeystate 是一个 Windows API 函数,您可以阅读更多相关信息 here

关于delphi - 我可以捕获 Capslock/Shift 按键操作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3475305/

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