草庐IT

KEYBOARD

全部标签

c# - 从 WH_KEYBOARD_LL Hook 中向窗口发送消息

我知道如果用户设置了像中文这样的键盘布局,很难将WH_KEYBOARD_LL消息转换成相应的unicode字符,但我仍然想完成我的多语言应用程序。正如我在originalquestion中提到的为什么我使用WH_KEYBOARD_LLHook并不重要,我尝试了其他东西,这是最适合我的应用程序的东西。问:我可以将我的hookproc中的WH_KEYBOARD_LL消息床发送到另一个原本指定的窗口吗?这样做的好处是(如originalquestion的回答3中所述)如果我将此消息发送到包含编辑框的窗口,也许这会将其转换为写入unicode字符,我可以从那里获取它。

c++ - Windows:如何查询低级键盘 Hook 中修改键的状态?

对于usb键盘配置工具,我需要拦截所有键盘输入并检测同时按下了哪些修改键和普通键。因此,我使用了一个Windows低级钩子(Hook)(WH_KEYBOARD_LL),它工作正常,除了我无法确定是否按下了WIN键(VK_LWIN/VK_RWIN)(control/shift和alt正在工作)。我做了一个小命令行工具来显示问题:#include#includeusingnamespacestd;HHOOKhKeyboardHook;LRESULTCALLBACKLowLevelKeyboardProc(intnCode,WPARAMwParam,LPARAMlParam){if(nCod

c# - Windows 10 是否具有 LowLevelHooksTimeout 的注册表项

我正在尝试为我在VisualStudio2015中调试C#时遇到的问题找到解决方法。当应用程序正在调试时,它会导致鼠标光标在命中断点时严重滞后。这是因为应用程序注册了鼠标和键盘的Hook。当遇到断点时,Hook正在等待输入,但在达到超时(~5秒)之前它们不会收到任何输入。因此,我在网上找到了一些解决方案,但在不重新处理Hook的情况下,没有什么是可以相对直接实现的。我尝试为LowLevelHooksTimeout添加一个注册表项,以查看是否可以让Windows在遇到断点时更快地转到下一个Hook事件,但这似乎没有什么不同。或者,使用原始输入可能是唯一的方法,但需要一些工作。有没有人遇到

c - 监控低级 Hook [C]

有没有什么方法可以监控Windows环境中的低级键盘Hook。假设我正在制作一个试图找到键盘记录器的程序。 最佳答案 >没有官方API可以查询已安装的键盘钩子(Hook)。是的,有。(你还太小,不知道这个……)您必须阅读PEB。参见Win32apiGroup所有Windows源代码(每个api,未记录或未记录)都已被反汇编 关于c-监控低级Hook[C],我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com

python - 在python中模拟长按键

有没有办法在python中模拟长按键?我尝试使用SendKies和win32api,但没有成功。我想继续使用python2.5或2.6,因为我还需要pybluez模块。提前谢谢你。 最佳答案 我为模拟更长的按键所做的事情是在按键和按键释放之间使用time.sleep(amountoftime)。这是一个显示此示例的网站。http://www.python-forum.org/pythonforum/viewtopic.php?f=18&t=9513 关于python-在python中模拟

在使用 Autohotkey 重新映射 Alt/Ctrl/Win 时使用罗马尼亚程序员布局键入罗马尼亚字符后 Windows 变得疯狂

我已经使用Autohotkey重新映射了一些键,如下所示:LWin::LAltLCtrl::LWinLAlt::LCtrl我正在使用罗马尼亚语(程序员)键盘布局的Windows7。例如,如果我想输入ă,我会按RAlt+a。之所以称为“程序员”,是因为它是一个普通的美国QWERTY布局,具有由RAlt激活的附加功能。但是,如果我运行我的Autohotkey脚本,然后发送RAlt+a/s/t/i,系统就会崩溃。即使我关闭Autohotkey,它的行为仍然如此。我必须注销/重新启动或按魔术键序列来修复它(我仍然没有弄清楚是什么序列)。我猜测发生的情况是Alt不知何故卡住了,我按下的每个键都与

windows - 如何禁用特殊键盘键?

我正在寻找在后台运行并阻止我键盘上的特殊键(计算器、静音等)的脚本或程序对我来说,我尝试了sharpkeys但没有在我的键盘上检测到这些键,我的键盘上的键ID是173用于静音,如果我发现任何东西可以用ID阻止它们,我可以获得其他ID。附言我不太了解编程,很可能不知道我在做什么,我正在寻找任何人的基本帮助。谢谢! 最佳答案 TL;DR要禁用所有“特殊键”,您可以更改人机界面设备访问Windows服务启动类型Automatic到Manual(或Disabled,以防安装了一些其他软件导致它在设置为Manual时仍然启动).警告:这可能会

C++循环在按下键时模拟按键

我正在尝试获得一个小应用程序,它将在按下另一个键时连续模拟UP(↑箭头键),在我的例子中是RightCTRL。然而,我编写的代码每次按下只会发送一个UP-当我按住RightCTRL时,它只会发送一个UP并停止。我想说的是,这段代码完全是根据我在网上找到的文档构建的,我以前从未用C++或任何其他语言编写过任何东西,因此任何建议都会对我有很大帮助。我最初尝试在CAPSLOCK处于事件状态时执行此操作,但我发现无论我尝试什么,获取键状态(开/关)对我来说根本不起作用。intmain(){//Thisstructurewillbeusedtocreatethekeyboard//inputev

python - 无法接收来自 Steam 和其他一些程序的击键

我试图跟踪用户的按键次数,但我逐渐意识到与Steam有关的任何事情,无论是客户端本身还是通过它启动的游戏,它都会停止工作。如果使用GetKeyState而不是GetAsyncKeyState,它可以拾取键盘边缘周围的位,例如ctrl、shift、tab、backspace、enter,但除此之外别无他法。我还在少数其他程序中发现了相同的行为,例如任务管理器和Discord。我已经尝试使用ctypes和pywin32,使用GetKeyState和GetAsyncKeyState。此外,在IInspectable建议查看低级键盘钩子(Hook)之后,我尝试了两个不同的版本,发现它们遇到了完

c++ - 错误 C2062 : type 'void' unexpected in signal declaration in QT

我是新手,我正在编写一个头文件,在其中声明一个将发出信号的类。所以我用一个构造函数声明我的类,两个int变量,我将它们设为private,然后定义我的signal。这是我的.h文件:#ifndefKEYBOARD_H#defineKEYBOARD_HclassKeyBoard{public:KeyBoard();intkeyboard_update();private:intlevel;intsub_level;signals:voidsend_to_MBU(QStringmessage);};#endif现在在.cpp部分,我只是在构造函数中发出一个信号。这是.cpp部分中的代码:#