认识到可能需要一点互操作,我该如何将鼠标点击事件发送到当前未显示的窗口?我有一个作为服务运行的应用程序,并且隐藏窗口并且需要将鼠标点击事件发送给其中的一个,尽管它实际上不能显示窗口。如何将鼠标点击事件发送到隐藏窗口?
我会这样做的正常方式是简单地将点击发送到适当位置的屏幕上,但显然这种方法在这种情况下不起作用。想法?
认识到可能需要一点互操作,我该如何将鼠标点击事件发送到当前未显示的窗口?我有一个作为服务运行的应用程序,并且隐藏窗口并且需要将鼠标点击事件发送给其中的一个,尽管它实际上不能显示窗口。如何将鼠标点击事件发送到隐藏窗口?
我会这样做的正常方式是简单地将点击发送到适当位置的屏幕上,但显然这种方法在这种情况下不起作用。想法?
使用Spy ++找出显示窗口中显示的Windows消息,并用鼠标物理地单击它,然后使用SendMessage直接发送这些消息。
如果你能得到窗口的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));
不错,我会给它一个去,谢谢 –
好吧,间谍++有一些有用的提示在那里,我怎么访问 “SendMessage函数”? –
@Nathan:看到http://www.pinvoke.net/default.aspx/user32.SendMessage – RichieHindle
哦,为此欢呼 –