c# - 如何在 C#/Vista 中将鼠标事件传递给我背后的应用程序?

标签 c# events windows-vista mouse

我正在用 C# 编写一个非常专业的应用程序,它作为一个几乎透明的窗口漂浮在整个桌面上。我希望能够创建鼠标事件并将其传递给我背后的应用程序,并让它们看起来“正常”运行,响应这些事件。如果窗口管理器可以响应,那将是更可取的。

我不是 Windows 大师,不确定如何最好地完成此任务。

从这个页面: http://bytes.com/forum/thread270002.html

看起来 mouse_event 会很好,除了因为我的应用程序漂浮在其他一切之上,我猜我生成的事件永远不会到达下面的其他应用程序。

似乎替代方法是 SendMessage,但这需要对窗口进行大量手动操作,并且生成的鼠标事件不是“真实的”。

关于解决这个问题的最佳方法有什么想法吗?

最佳答案

听起来你想做一些事情,比如过滤用户输入。

也许您只需要一个键盘/鼠标 Hook 。

您可能想看一下 Windows API 调用 SetWindowsHookEx。

还应该有足够的示例如何在 C# 中执行此操作,我发现的第一件事是 this link (也许不是最好的文章,但应该给你想法)。

关于c# - 如何在 C#/Vista 中将鼠标事件传递给我背后的应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/173579/

相关文章:

c++ - "Hello World"运行失败。 Windows Vista 上 MinGW 和 Cygwin 的 Eclipse (Galileo) CDT 插件问题

delphi - 从EXE的EXE执行EXE

windows - 在 Windows 注册表中隐藏 secret

c# - 当我在多个集线器中使用共享连接时,OnConnected 方法未调用 SignalR

javascript - addeventListener 中 useCapture 的推理?

php - 用一个监听器监听多个事件?

VBA - 在动态创建的文本框上捕获事件

c# - 让父级处理子控件事件或命令 WPF?

c# - 运算符 '??' 不能应用于类型 'System.DateTime' 的操作数

c# - 在 C# 中使用 XPath 选择空白节点