Как послать сообщение, чтобы по экрану двигалась мышь с нажатой левой кнопкой.
Вроде бы простая задача, а не получается.
Это нужно для того, чтобы выделять мышью текст со страницы и копировать его в буфер.
Помогите.
Re: Как послать сообщение двигать мышь при нажатой кнопке
>Как послать сообщение, чтобы по экрану двигалась мышь с нажатой левой кнопкой. >Вроде бы простая задача, а не получается. >Это нужно для того, чтобы выделять мышью текст со страницы и копировать его в буфер.
А чего надо:
— передвинуть курсор мыши ?
для этого есть SetCursorPos
— заставить систему считать, что мышь передвинулась (чтоб посылалось и правильно обрабатывалось приложением WM_MOUSEMOVE) ?
тут нужно курить в сторону
UINT SendInput(UINT nInputs, LPINPUT pInputs, int cbSize);
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Как послать сообщение двигать мышь при нажатой кнопке
В>А чего надо: В>- передвинуть курсор мыши ? В>для этого есть SetCursorPos
В>- заставить систему считать, что мышь передвинулась (чтоб посылалось и правильно обрабатывалось приложением WM_MOUSEMOVE) ? В>тут нужно курить в сторону В>
В>UINT SendInput(UINT nInputs, LPINPUT pInputs, int cbSize);
В>
Это то, что оказалось нужным, спасибо.
А нужно было, собственно, для того, чтобы выделить текст мышью и скопировать его в буфер.
Интерфейс — на Java, Java контрол, который отображает текст в html. Оказалось, что это единственный способ.
Re: Как послать сообщение двигать мышь при нажатой кнопке
Здравствуйте, _DimOS, Вы писали:
_DO>Как послать сообщение, чтобы по экрану двигалась мышь с нажатой левой кнопкой. _DO>Вроде бы простая задача, а не получается. _DO>Это нужно для того, чтобы выделять мышью текст со страницы и копировать его в буфер. _DO>Помогите.
WM_MOUSEMOVE
Parameters
wParam
Indicates whether various virtual keys are down. This parameter can be one or more of the following values.
MK_CONTROL
The CTRL key is down. MK_LBUTTON
The left mouse button is down.
MK_MBUTTON
The middle mouse button is down.
MK_RBUTTON
The right mouse button is down.
MK_SHIFT
The SHIFT key is down.
MK_XBUTTON1
Windows 2000/XP: The first X button is down.
MK_XBUTTON2
Windows 2000/XP: The second X button is down.
... << RSDN@Home 1.1.4 stable rev. 510>>
Re: Как послать сообщение двигать мышь при нажатой кнопке
Здравствуйте, _DimOS, Вы писали:
_DO>Как послать сообщение, чтобы по экрану двигалась мышь с нажатой левой кнопкой. _DO>Вроде бы простая задача, а не получается. _DO>Это нужно для того, чтобы выделять мышью текст со страницы и копировать его в буфер.
Ответ про SendInput прочитал, но всё равно, остался вопросик: если послать приложению сначала WM_LBUTTONDOWN, потом нужные WM_MOUSEMOVE'ы, и в конце WM_LBUTTONUP, разве не получалось то, что надо? Или не проверялось?
Почему же, ё-моё, ты нигде не пишешь «ё»?
Re[2]: Как послать сообщение двигать мышь при нажатой кнопке
>Ответ про SendInput прочитал, но всё равно, остался вопросик: если послать приложению сначала WM_LBUTTONDOWN, потом нужные WM_MOUSEMOVE'ы, и в конце WM_LBUTTONUP, разве не получалось то, что надо? Или не проверялось?
Понятно. Спасибо за информацию. Конечно, сомневаюсь, что все приложения поголовно то и дело тестируют клавиатуру на реальные состояния клавиш или функцией WaitForMultipleObjects ждут, пока двинется мышка, но, по крайней мере, суть подводных граблей уловил.