c# - C#鼠标钩

标签 c# mouse hook

我试图模拟“硬件”鼠标单击,因为似乎某些软件例如阻止了来自PostMessage的输入。我知道这里有SendInput,但这不是一个选择,因为我还需要它在后台窗口中兼容。解决方案似乎是一个低级的鼠标钩,但是我已经四处搜寻,除了记录器之外,找不到其他东西,没有操纵鼠标,单击等操作。我希望这种情况无需写一些即可一种用作伪造的鼠标驱动程序的C ++ / C包装器。

http://support.microsoft.com/kb/318804,我发现了这一点,但似乎没有任何进一步的帮助。

任何帮助表示赞赏:)

最佳答案

不知道可能是什么“某些软件”,但是可以肯定的是,UAC阻止您将消息发送到高级程序的窗口中。它被称为UIPI,用户界面特权隔离。

通常,用PostMessage伪造输入根本无法正常工作。对于键盘输入尤其是一个问题,但是鼠标输入也有麻烦。没有好的方法可以更改另一个进程的键盘状态。当程序在处理输入消息时检查Shift,Ctrl和Alt键的状态时,这一点很重要。很多。

唯一真正的解决方案是使用SendInput()模拟输入。现在您有一个重点问题要解决。

关于c# - C#鼠标钩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4177706/

相关文章:

c# - 静态方法局部变量和线程安全

c# - 通用 C# 复制构造函数

C# Linq to MySQL query with join 会产生错误的 SQL?

c# - GPUImage 和 Monotouch 绑定(bind)或替代方案

git - git push 如何处理积压的工作

delphi - Csrss中Hook进程创建

windows - 钩子(Hook)进程

c - 如何检测鼠标点击 GTK+ 中的图像?

pygame.mouse.get_pos和Rect.collidepoint的Python表面真实位置坐标

python - 如何使用 selenium webdriver (python) 将鼠标移动 (pyautogui) 附加到 pyvirtualdisplay?