如何将鼠标单击事件发送到隐藏窗口?

时间:2009-10-25 16:08:50

标签: c# winforms winapi

认识到可能需要一些互操作,如何将鼠标单击事件发送到当前未显示的窗口?我有一个作为服务运行的应用程序,摆弄隐藏的窗口,需要向其中一个发送鼠标单击事件,即使它实际上无法显示窗口。

我这样做的正常方法是简单地在适当的位置向屏幕发送一个点击,但显然这种方法在这种情况下不起作用。想法?

2 个答案:

答案 0 :(得分:3)

如果你能获得窗口的HWND,那就很容易了。 使用PostMessage()和WM_LBUTTONDOWN进行左键单击。

示例:点击位置10,10(未经测试,C)

HWND hWnd = (hwnd of window)
WORD mouseX = 10;
WORD mouseY = 10;
PostMessage(hWnd,WM_LBUTTONDOWN,0,MAKELPARAM(mouseX,mouseY));

答案 1 :(得分:2)

使用Spy ++查看Windows消息在显示时发送到窗口的信息,然后用鼠标单击它,然后使用SendMessage直接发送这些消息。

相关问题