问题标签 [mouse-hook]
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.
delphi - 使用 Delphi 是否有一种低开销的方法来挂钩鼠标双击?
这是我想在 Delphi XE 中做的事情:
捕获另一个应用程序中的双击,这样当它发生并且鼠标下方的文本被突出显示时,这会根据突出显示的文本在我的应用程序中触发一系列事件。
我知道使用系统范围的鼠标挂钩来执行此操作的方法,但是...由于我的应用程序和其他应用程序在许多情况下将托管在终端服务或 citrix 环境中,因此我不太愿意使用鼠标执行此操作挂钩,因为我担心资源成本。(我正在想象服务器托管数百个鼠标钩子,每个用户一个......不寒而栗)。我是不是太谨慎了?鼠标钩的性能和稳定性能打多少?TS或者citrix环境下呢?如果我的直觉是正确的并且多个钩子的成本太高,还有其他方法吗?
我无权访问其他应用程序的源代码,并且在其中发现文本的第 3 方 Richedit 控件已被修改得面目全非,并且在发布时不响应 API。帮助?
c# - 获取鼠标相对于活动窗口的点击位置
解决了如何使用低级挂钩沿监视器边界的任意位置获取鼠标单击位置后,我收到一个 XY 坐标,该坐标通常包含一个值x: -1680 to +1920
,y: 0 to 1200
在我的 pcs 案例中和之间。够简单!
现在的问题是我现在想计算鼠标相对于我所拥有的给定窗口的位置,因此我使用GetForegroundWindow()
并GetWindowRect(HandleRef hWnd, out RECT lpRect)
获取我的活动窗口坐标。
我被卡住的地方是我需要当前的活动桌面(通过活动我的意思是点击发生在哪个监视器上)来计算我的鼠标点击相对于窗口的坐标。
不幸的是,我找不到类似GetActiveMonitor()
或类似的 API 调用,所以希望有人能指出我正确的方向?
c# - 在不删除当前正在运行的应用程序的情况下设置鼠标挂钩?
我有一个在运行时打开 GUI 的程序。然后我想使用 dllimports 设置一个鼠标钩,但为了让它工作,我必须在同一个类中调用一个新的 Application.Run()。不幸的是,这删除了原来的 GUI。有什么办法可以在原始消息循环上运行鼠标钩?我在这里有点迷路了。
以下是代码的几个关键部分:
.
.
visual-c++ - WM_MOUSEWHEEL 在 Windows 7 / 64bits 上只能单向工作
我为游戏中的 3D 效果制作了这段代码,这段代码有助于改变位置和放大 + 缩小屏幕!
但是,如果我在 win 7 64 位上运行它,当向前和向后滚动鼠标滚轮时,它只会放大,但在 Windows 7 32 位上运行时它可以正常工作!
我该如何解决它以获得任何胜利?
谢谢你的帮助!!!!
c++ - 如何在 C++ 中拦截鼠标和键盘事件并发送自定义事件?
好吧,我想编写一个程序,在鼠标和键盘事件被报告给活动窗口/应用程序之前拦截它们,不管是什么。根据我的程序逻辑,我希望能够发送自定义键事件。
例如:当鼠标按钮被按住时,对于任何按键,发送下一个字母。因此,如果我按住鼠标右键并点击“a”,应用程序会将其视为“b”按键。
我已经简要研究了拦截 WinAPI 消息的钩子和方法,我不清楚这是否是我正在寻找的解决方案。根据我所阅读的内容,其中一些解决方案需要您将 DLL 注入所需的应用程序;我的程序需要适用于任何正在运行的应用程序。
另外,我注意到这些解决方案中的大多数都使用 C#。作为个人喜好,我想使用 C++ 来编写这个程序。有什么理由我需要使用 C#?
任何指针或建议表示赞赏。
c# - 设置鼠标位置不起作用c#
我一直在尝试编写一个小实用程序来修改鼠标在整个屏幕上的移动范围。我使用了在这里找到的全局鼠标钩子库(我使用的是版本 1),然后将鼠标位置信息从它生成的事件传递给我自己的函数(只是一个测试,看看它现在是否工作) .
运行它时,鼠标确实会闪烁到指定点,但如果它是一个移动事件,它会立即恢复到更改之前的位置。只有当它通过点击事件完成时,它才会真正保持在新位置。
c++ - 如何在 Windows 中从鼠标挂钩设置光标位置?
我正在尝试创建一个小应用程序,该应用程序将检测鼠标光标何时移动到屏幕边缘并将其移动到另一边缘,以创建连续的桌面效果,如果这有意义的话。
下面是来自其他人的一些代码(鼠标钩部分),我通过添加 SetCursorPos 来将鼠标移动到固定位置。当我运行它时,SetCursorPos 返回 true,我认为这意味着调用成功,但鼠标没有移动。我在某个地方读到了一些关于更高版本 Windows 版本中的安全约束的内容,以防止这样的事情,这是有道理的,但来源不清楚这是多么真实。有谁知道为什么这不起作用?
谢谢,代码如下:
vb.net - VB.Net 2012 中的全局鼠标钩子/响应事件
寻找与 VB.Net 2012 兼容的全局鼠标钩子的源代码示例。
应用需求基本:全局拦截中键。
几乎我发现的每个示例都已过时、存在错误或生成毫无意义的错误,我无法在 VS 2012 Pro 中解决。
这一定是一个艰难的问题,因为我没有看到这个问题被多次问过 C# 和 VB,但没有遇到任何答案。
谢谢。
富有的
c# - 带有 UI 的全局键/鼠标钩子
我想在屏幕上制作一个带有键盘和鼠标的 C# 应用程序。
每个被点击的键或按钮都应该在这个应用程序中看到,例如为其中一个键着色(我知道怎么做)。如果应用程序没有聚焦,这也应该有效。
目前我正在使用一个工作正常的全局键和鼠标钩。
问题是,Keyhook 一次只能拦截一个 Key,这意味着我一次只能在 Key 上显示。我希望能够在屏幕上一次显示多个键。不幸的是,KeyListeners 是没有选择的,因为它们不能在应用程序之外工作。有谁知道如何使这成为可能?
这是我正在使用的 KeyHook: