0
我正嘗試使用SendMessage向Windows計算器發送一些簡單的鼠標向下/向上消息。我可以通過直接將消息發送到按鈕來按下按鈕。但是,我無法成功將相同的消息發送到主計算器窗口句柄。鑑於hWnd是計算器的窗口句柄,這是我的代碼。SendMessage WM_LBUTTONDOWN/UP在按鈕上工作,但不是窗口
IntPtr fiveKey = FindWindowEx(hWnd, IntPtr.Zero, "Button", "5");
int x = 5; // X coordinate of the click
int y = 5; // Y coordinate of the click
IntPtr lParam = (IntPtr)((y << 16) | x); // The coordinates
IntPtr wParam = IntPtr.Zero; // Additional parameters for the click (e.g. Ctrl)
const uint downCode = 0x201; // Left click down code
const uint upCode = 0x202; // Left click up code
SendMessage(fiveKey, downCode, wParam, lParam); // Mouse button down
SendMessage(fiveKey, upCode, wParam, lParam); // Mouse button up
爲什麼發送消息的hWnd,而不是fiveKey與x/y偏移更改爲「5」鍵不起作用的位置
任何人都可以解釋一下嗎?我想最終使用此代碼來模擬鼠標點擊不具有計算器等按鈕的不同應用程序。
好的,這是有道理的。我希望它能將消息傳遞給該地點的孩子,但如果不是的話,我將不得不尋找另一種方式來完成這項任務。 – 2010-08-09 20:14:42