В настоящее время я пытаюсь проверить функцию щелкающей через следующую командуmouse_event MOUSEEVENTF_LEFTDOWN зарегистрирован как вкладка, а затем левый клик?
POINT cursorPos;
GetCursorPos(&cursorPos);
x = cursorPos.x;
y = cursorPos.y;
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
Sleep(1000);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
cout << x << endl;
cout << y << endl;
Однако, когда я запустить приложение, мышь не регистрирует й и у позиции, но когда я нажимаю вкладку, его зарегистрировали положение x и y. Это потому, что мое событие мыши зарегистрировано на кнопку вкладки? Есть ли способ проверить? Спасибо, я использую C++ CLI Visual Studio 2013.
P.S: Это не дубликат моего ранее заданного вопроса, потому что этот вопрос связан с обработкой событий мыши, а не тем, как обнаружить щелчок мышью, еще раз спасибо.
Cheers.
Должно быть немного очевидно, что он не «регистрируется», потому что вы никогда не передавали их mouse_event(). И будьте осторожны, опция MOUSEEVENTF_ABSOLUTE, должна быть включена, когда x и y являются абсолютными координатами мыши вместо инкрементальной. –
Привет @Hans Passant, я зарегистрировал их в следующих разделах: private: System :: Void panel1_MouseUp (System :: Object^sender, System :: Windows :: Forms :: MouseEventArgs^e). И как вы должны включить абсолютную опцию mouseevent? – TechNewb
Хм, вы делаете это неправильно. Вы всегда используете mouse_event() для commandeer * another *. Нет никакого смысла в эмуляции мыши в вашей собственной программе, просто выполните код непосредственно в обработчике событий. –