草庐IT

Keyboard

全部标签

windows - Windows C++ 中的键盘钩子(Hook)还是什么?

我希望构建自己的应用程序,它可以将键盘命令(消息)发送到Windows操作系统。例如,当我按下组合键ctrl+shift+n时,我希望启动notepad.exe。我怎样才能做到这一点?你对我使用的概念有什么建议吗?我读到过在使用键盘Hook时是可能的吗?那是唯一的方法吗?您是否知道可以尽可能简单地执行此操作的免费开源应用程序? 最佳答案 您的特定示例无需任何编程即可完成,方法是右键单击记事本,选择属性,然后将“热键”(各种Windows版本可能用不同的名称调用它)设置为Ctrl+Shift+N。如果您仍然想编写一个程序来执行此操作,

python - 从如此生成的击键中阻止 pyhook?

我正在使用pyhook和pyhk来映射WindowsXP机器上的击键,它工作正常,除非击键(例如,ctrl+z)已经存在于应用程序中。在这种情况下,ctrl+z将传递给应用程序并触发已映射到它的操作。如果您熟悉autohotkey,请注意autohotkey通过定义可以选择性地传递给底层应用程序的热键来解决这个问题。这里有一些代码可以理解这个想法。请注意,我正在尝试跟踪ctrl键何时按下。importpythoncom,pyHookcontrol_down=FalsedefOnKeyboardEvent_up(event):globalcontrol_downifevent.Key==

windows - AutoHotkey 将韩语键重新映射为 Ctrl

标准韩语键盘上的空格键旁边有两个键(每侧一个),我想将其重新映射为Control或Alt修饰符-这样我就可以交替使用比我的小指更强壮的手指(我是emacs用户)。我猜问题是它们不似乎生成KeyUp事件,而且它们不重复键。我有一个糟糕的解决方案,涉及使用自动热键的循环。还对另一个非自由程序KeyManager做了类似的事情。我希望有一些更高级的技巧或解决方法(AutoHotkey、驱动程序或其他)。;ScanCodeforHanjaKeysc1F1::Loop10000{SetKeyDelay,-1Send{Blind}{LCtrlDownTemp}}SetKeyDelay,-1Send

c++ - SetWindowsHookEx WH_KEYBOARD_LL 右移不响应

我尝试在c++中使用WindowsAPI,但SetWindowsHookExWH_KEYBOARD_LL似乎没有从正确的Shift键(Shift键位于qwerty键盘右侧,Enter键下方)。它确实适用于左Shift键。我该如何解决这个问题???#include"stdafx.h"#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#includeHHO

windows - 如何检测 Electron/ Chrome 应用程序中的 Windows 软键盘?

我正在构建一个旨在在MSSurface平板电脑上全屏运行的Electron应用程序。该应用程序需要与可连接的硬件键盘和屏幕上的“软”键盘一起运行。问题是软键盘经常显示在正在编辑的字段上!我该如何防止这种情况?它看起来不像在移动设备上那样调整了视口(viewport)的大小。键盘显示是否会发出任何类型的事件,我可以捕获并更改表单的大小或移动表单以适应它?谢谢。 最佳答案 Electron不提供API来控制或检测软(虚拟)键盘。当涉及到打开/关闭软键盘时,Chromium负责处理所有事情。所以,这实际上是一个Chromium问题。不幸的

windows - 如何在自动热键中使用菜单窗口键?

我正在寻找和寻找。请告诉我是否可以使用菜单窗口键(位置:右侧alt旁边)。发现:AppsKey-thisisthekeythatinvokestheright-clickcontextmenu.感谢提前。谢谢你的帮助。;) 最佳答案 我认为{AppsKey}是您要查找的内容。还要检查listofAHKkeys. 关于windows-如何在自动热键中使用菜单窗口键?,我们在StackOverflow上找到一个类似的问题: https://stackoverflo

c# - 如何编写本地化的屏幕键盘

我要为我们公司的程序编写一个屏幕键盘,该程序主要用于具有触摸功能的工业PC。我们不能使用windows默认键盘,因为我们不需要键盘上的所有键。所以我被要求用C#编写一个自定义的。我已经找到了thisblog作为引用,但我不确定如何开始。我创建了一个小型原型(prototype)GUI并为每个键分配了一个扫描码,并将这些扫描码转换为相关字符。并将它们发送到主动控制。但我不确定应该使用什么扫描码。所以我的问题是,像这样编写OSK的正确方法是否正确?如果是,我应该使用哪些扫描码?有链接吗?我也不确定如何处理shift状态...编辑:好吧,我做了更多的研究,想出了一个osk,它可以读取当前的键

windows - 如何在 Windows 下设置 USB 键盘的 LED

我正在尝试设置USB键盘的键盘LED。我已经尝试过/知道以下内容:设置PS/2您可以使用的键盘LEDCreateFile("\\.\Keybd",GENERIC_WRITE,0,0,OPEN_EXISTING,0,0);DeviceIoControl(hKeybd,IOCTL_KEYBOARD_SET_INDICATORS...设置真正HID的LED兼容键盘,您可以使用DirectInput、SendDeviceData以及用法页面8。您可以使用SendInput/keybd_event。但这也会改变状态。因此,当您在用户键入时使用此方法更改CAPSLOCK时,他/她将获得大小写字母:

c++ - 多个原始输入窗口接收器

我有一个纯消息窗口(ATL::CWindowImpl),它使用RIDEV_INPUTSINK标志为原始输入注册自己,这意味着无论该窗口是否为前景窗口,它都会获取所有输入。当该窗口只有一个实例时,这非常有效。但是,当我创建超过1个窗口实例时,只有一个会收到WM_INPUT消息(我目前正在创建两个,只有第二个要创建的实例会收到消息)。RegisterRawInputDevices(使用RIDEV_INPUTSINK|RIDEV_NOLEGACY)在两个窗口的创建过程中都成功了。此外,未接收原始输入的窗口仍在接收其他消息,因此这不是窗口本身的问题...如果相关,我使用的是VC11beta,并

c# - 如何拦截所有按键事件,包括 ctrl+alt+del 和 ctrl+tab?

我正在编写一个屏幕保护程序类型的应用程序,它需要阻止用户在不输入密码的情况下访问系统。我想捕捉/抑制用户可能尝试退出应用程序的各种方法,但我所做的所有研究似乎都指向我“你不能”。C#或C++中的任何东西都很棒。我曾想过禁用键盘,但我会遇到其他问题。 最佳答案 你不能。Ctrl+Alt+Del的全部意义在于只有系统才能处理它,因为这样系统可以始终处理它。幸运的是,Windows内置了对受密码保护的屏幕保护程序的支持(可作为显示属性中的“恢复时,密码保护”选项使用,或通过组策略使用)。就用那个吧。