認識到可能需要一點互操作,我該如何將鼠標點擊事件發送到當前未顯示的窗口?我有一個作爲服務運行的應用程序,並且隱藏窗口並且需要將鼠標點擊事件發送給其中的一個,儘管它實際上不能顯示窗口。如何將鼠標點擊事件發送到隱藏窗口?
我會這樣做的正常方式是簡單地將點擊發送到適當位置的屏幕上,但顯然這種方法在這種情況下不起作用。想法?
認識到可能需要一點互操作,我該如何將鼠標點擊事件發送到當前未顯示的窗口?我有一個作爲服務運行的應用程序,並且隱藏窗口並且需要將鼠標點擊事件發送給其中的一個,儘管它實際上不能顯示窗口。如何將鼠標點擊事件發送到隱藏窗口?
我會這樣做的正常方式是簡單地將點擊發送到適當位置的屏幕上,但顯然這種方法在這種情況下不起作用。想法?
使用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
哦,爲此歡呼 –