认识到可能需要一些互操作,如何将鼠标单击事件发送到当前未显示的窗口?我有一个作为服务运行的应用程序,摆弄隐藏的窗口,需要向其中一个发送鼠标单击事件,即使它实际上无法显示窗口。
我这样做的正常方法是简单地在适当的位置向屏幕发送一个点击,但显然这种方法在这种情况下不起作用。想法?
答案 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直接发送这些消息。