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

Gar*_*rth 5 c# mouse events windows-vista

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

我不是 Windows 专家,我不确定如何最好地实现这一点。

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

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

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

关于解决这个问题的最佳方法的任何想法?