我正在用 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/