我可以打开/closures个别键盘上的Capslock指示灯吗?

我有一个多个键盘的电脑,所有的大写locking灯同步打开/closures。 (所以如果一个用户/键盘打开大写锁,每个人都input大写字母)

我正在考虑将每个键盘的大写locking状态保存在标志中,但我只是意识到灯光不会对应每个用户/键盘的大写locking状态。

我只是想知道,大小写locking灯是否可以独立打开/closures。 我已经计划禁用大写locking(因为我不太喜欢这个关键字),但是如果客户想要使用它,我可以find一种方法来做到这一点,或者告诉他们这是不可能的。

Ctrl-C和SIGINT有什么区别?

影响原始input消息的Windows键重复设置

在Debian中映射我的自定义

将X11键映射导出到Linux内核

IntelliJ构buildconfiguration键盘快捷键

尝试

http://www.codeguru.com/Cpp/WP/system/keyboard/article.PHP/c2825

有点涉及,但可行:)

您可以使用Keybd_Event函数以编程方式获取并设置CapsLock键的状态

尝试这个:

var KeyState: TKeyboardState; begin GetKeyboardState(KeyState) ; if (KeyState[VK_CAPITAL] = 0) then begin //simulate key down Keybd_Event(VK_CAPITAL,1,KEYEVENTF_EXTENDEDKEY or 0,0) ; Keybd_Event(VK_CAPITAL,KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP,0) ; end else begin //simulate key up Keybd_Event(VK_CAPITAL,0) ; end;

如果你真的想禁用一个密钥(我不推荐),你可以使用这个库叫BlockKeys(我发现BlockKeys库在http://www.experts-exchange.com/Programming/Languages/Pascal/Delphi/Q_21504230.html ):

library BlockKeys; uses Windows,Messages; {$R *.RES} var hKeyHook: THandle = 0; Hooked: Boolean = False; function HookFunc(Code,VirtualKey,Keystroke: Integer): Integer; stdcall; begin if VirtualKey in [VK_TAB,VK_CONTROL,VK_MENU,VK_ESCAPE,VK_F1] then Result := 32 else Result := CallNextHookEx(hKeyHook,Code,Keystroke); end; function StartHook: Boolean; export; begin Result := False; if Hooked then begin Result := True; Exit; end; hKeyHook := SetwindowsHookEx(WH_KEYBOARD,HookFunc,hInstance,0); if hKeyHook <> 0 then begin Result := True; Hooked := True; end; end; function StopHook: Boolean; export; begin if Hooked then Result := UnhookWindowsHookEx(hKeyHook) else Result := True; if Result then Hooked := False; end; exports StartHook,StopHook; begin end.

希望这可以帮助

相关文章

本篇内容主要讲解“gitee如何上传代码”,感兴趣的朋友不妨来...
这篇“从gitee上下的代码如何用”文章的知识点大部分人都不太...
这篇文章主要介绍“gitee如何下载仓库里的项目”,在日常操作...
本篇内容主要讲解“怎么在Gitee上更新代码”,感兴趣的朋友不...
本文小编为大家详细介绍“怎么将工程托管到gitee”,内容详细...
这篇文章主要介绍了gitee中图片大小如何调整的相关知识,内容...