问题标签 [mousekeyhook]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2319 浏览

c# - 拦截鼠标点击

我目前正在编写一个程序,该程序在最初单击时按住鼠标按钮,并继续按住它,直到用户第二次按下鼠标按钮。

该程序通过使用MouseHookListener全局检测输入来工作,然后使用输入模拟器按住已按下的鼠标按钮。

该程序能够按预期按住鼠标,但是原始鼠标单击存在问题,该信号向程序发出信号以模拟被按住的按钮;它仍然被执行。我知道 MouseHookListener 使用低级钩子来操作,但它的 HookCallBack() 方法由于受到保护而不能被覆盖。

有什么办法可以屏蔽掉原来的鼠标输入?或者有没有办法让原始输入保持不变,直到再次单击鼠标?

到目前为止,这是我生成的代码(注意 - mListener 正在其他论坛中被激活):

0 投票
1 回答
963 浏览

c# - 全局挂钩 mousedown 和 keypress 事件未触发

我在我的 c# 桌面应用程序中使用了与此处给出的完全相同的代码:https ://github.com/gmamaladze/globalmousekeyhook

只要应用程序处于焦点状态,它就会工作并触发 mousedown 和 keypress 事件。如果我在另一个应用程序上,比如说在 Visual Studio 上(当鼠标键记录器正在运行时),它不会触发事件。

这是正确的行为吗?如果是这样,任何帮助实现这一点将不胜感激。

0 投票
1 回答
1159 浏览

c# - 按键侦听器未触发 (MouseKeyHook)

我从 C# 开始,用 Java 编写了很多代码,但在这里遇到了一些麻烦。我正在尝试学习如何将MouseKeyHook用于我正在开发的应用程序。我无法让实际的侦听器触发事件​​。这是我的监听器代码:

这是我的应用程序代码的一部分,我尝试对侦听器做一些事情。如果有人可以让我知道最好的方法是在这里循环并等待事件,我将不胜感激。

0 投票
0 回答
684 浏览

c# - C# MouseKeyHook 按键抑制问题

我一直在将 MouseKeyHook NuGet 包用于需要监视单个按键以提供显式功能的项目。我编写的原型应用程序检查是否按下了所需的键,然后将 Handled 属性设置为 true。我正在测试的键是 LaunchApplication2,现在我遇到的问题是按键并不总是被压制,此时如果 Microsoft Word 或 Excel 成为焦点,那么计算器就会启动!

代码如下:

我也尝试过使用 SuppressKeyPress 属性,但这没有任何效果。任何解决它的解释或建议都会很棒!

0 投票
1 回答
705 浏览

c# - WPF 使用 mousekeyhook 库计算点击次数 - LoaderLock 错误

我想编写一个计算窗口中鼠标点击次数的应用程序。经过一番研究,我发现了这个库:MouseKeyHook 我创建了 wpf 应用程序并复制了示例代码:

没有错误或警告,应用程序检测到点击和键入的键。但点击几下后,我收到错误消息:

在此处输入图像描述

有时只需单击几下,有时会在单击 100 次后显示此错误(MouseDown 事件 - 鼠标左键)。此外,当错误发生时,我的光标会显着减慢几秒钟。

0 投票
1 回答
1198 浏览

c# - 鼠标键挂钩 - 键侦听器未触发

我正在使用Global MouseKeyHook来监听鼠标点击和按键,同时在 VLC activeX 控件中播放视频。鼠标点击监听器触发良好,并按预期工作。但是按键/按下监听器不会触发。我附上了下面的一些代码,任何帮助将不胜感激。

订阅活动

事件触发代码

0 投票
1 回答
164 浏览

c# - 在录制按键时抑制全局窗口快捷方式

录制按键时是否可以抑制 Windows 全局快捷方式?

我有一个用 c# 编写的 Windows 窗体应用程序,并使用这个库来记录按键以便稍后在宏中使用。现在,当我记录 Windows 使用的组合键(即 L Control + Win + Right Arrow 以更改 Win 10 上的虚拟桌面)时,我希望我的应用程序记录它,但在我记录时避免 Windows 实际使用它很烦人。

我有一个复选框来启用键捕获,点击事件

HookManager_KeyDown 就是这样

在 comboText 控件中显示组合键。(此代码直接取自软件包附带的演示。

现在录制效果很好,例如我按下 L Control + Win,然后松开按键并按下第三个键(即右箭头),这不会触发 Windows 快捷方式,但让它这样工作很烦人。

感谢任何帮助。谢谢

0 投票
1 回答
1230 浏览

c# - MouseKeyHook 应用程序在启动时滞后并且无法关闭

我使用 MouseKeyHook 编写了一个简单的自动点击器。

我使用 MouseKeyHook 的原因是为了检测整个 Windows 操作系统中的全局左键单击。

虽然,当我运行 .exe 时,软件在点击时滞后,过了一段时间我似乎无法再点击“X”按钮,并且应用程序使我的窗口崩溃或减慢一切。

我正在制作这个软件来测试我们的游戏,但这并没有真正的帮助:P

该软件的代码可以在下面找到:

0 投票
1 回答
235 浏览

c# - 在 C# 中使用可编程键?

我想创建一个简单的应用程序,它在运行时会等待特定的键或键组合,甚至是鼠标上的按钮按下。我正在使用 MouseKeyHook API 来获取此信息,但是我遇到了一些问题。

这似乎工作得很好,因为我可以将按钮的字符串值与我保存的值进行比较。现在这是真正的问题开始的地方。每当我按下键盘上的任何可编程按钮时,我都没有得到任何输出?为什么?

使用 MouseKeyHook API 进行挂钩时,我能够获得两个鼠标按钮 XButton1 和 XButton2,但我的键盘按钮却一无所获。

在此处输入图像描述

0 投票
1 回答
165 浏览

c# - 如何在父窗口之后要求键盘挂钩处理消息

标题说明了一切。在父窗口处理完传入的键盘消息后,如何让我的键盘钩子处理它们?阅读文档我发现有一个名为的值WH_CALLWNDPROCRET正是这样做的,但我需要在WH_KEYBOARD那里指定(当然要使它成为键盘挂钩),并且该值似乎不是一个位标志,所以我不能将两者结合起来。

背景:我正在为 Word 2013 编写一个加载项,它需要监视某些键并仅Word 完成处理这些键后才采取适当的操作。我正在使用globalmousekeyhook项目进行挂钩。