如何使用C#从另一个进程接收点击位置?

时间:2011-06-25 07:19:40

标签: c# .net wpf winforms console

我的C#应用​​程序需要从另一个进程接收点击位置,然后我需要在我的应用程序上显示。但我不知道如何实现它。

有人可以帮我弄明白怎么做吗?

非常感谢

1 个答案:

答案 0 :(得分:2)

您需要的是一个“钩子”。 Windows允许您挂钩键盘和鼠标事件。基本上,Windows的工作原理是将鼠标(和键入的键)的适当移动和点击注入到具有焦点的应用程序中。

然而,使用钩子,您将收到所有事件,而不仅仅是与您的应用相关的事件。一旦你建立了钩子,你就可以用信息做你想做的事。

请注意,您将进入Windows操作系统,如果您在此处执行了错误操作,则可能会泄漏句柄,并且还会导致窗口进入错误状态。

MS Technet提供了一个很棒的教程here,介绍了如何在C#中执行此操作。