Я пытаюсь отправить несколько простых сообщений мыши в Windows Calculator с помощью SendMessage.Я был в состоянии нажимать кнопки, отправляя сообщения на кнопки напрямую.Однако я не смог успешно отправить те же сообщения в дескриптор главного окна калькулятора.Учитывая, что hWnd - это дескриптор окна калькулятора, это мой код.
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» ключ не работает?В конечном итоге я хотел бы использовать этот код для имитации щелчков мыши в другом приложении, в котором нет кнопок, таких как калькулятор.