通过窗口(或句柄)共享鼠标单击和按键事件

时间:2012-05-07 17:16:11

标签: c# macros transparent handle

我有3个,有时更多的可执行文件重复,我想做的是通过C#在所有应用程序中共享鼠标点击和按键事件来减少劳动力。

我能够获得可执行文件的句柄,因此可能会基于获取的句柄获取想法。

此外,我做了一些工作来简化我的工作,所有应用程序都安排在相同的坐标,窗口大小相同。因此,基本上透明的鼠标和按键点击将与所有窗口(顶部窗口以及背景窗口)进行交互,这样做可以解决问题。

2 个答案:

答案 0 :(得分:0)

您需要将Windows消息从一个应用程序发送到另一个应用程序,但这涉及安全配置。

在这里你有如何做到这一点:

Communication between applications via Windows Messages

在这里,您可以对安全问题以及替代解决方案的想法进行评论

Sending, receiving and processing a windows message between windows applications

答案 1 :(得分:0)

不需要堆叠窗口。获得要与之交互的所有窗口的句柄后,P / Invoke SendMessage API将您的点击发送到每个窗口的目标坐标。

如果我需要这样的东西,我会在表单上放一个图片框并捕获其中一个窗口的图像(这样我就能看到我点击的内容),然后处理PictureBox.Click事件计算在P / Invoke调用中使用的坐标。

您可以使用其他一些技巧让您的生活更轻松,点击分享工具更好,但这可以让您入门。