Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Имитация щелчка мыши

12K
23 мая 2007 года
mathers
33 / / 15.01.2007
Как можно программно управлять курсором мыши? Перетащить его, например, в определённое место экрана и выполнить клик?
320
23 мая 2007 года
m_Valery
1.0K / / 08.01.2007
BOOL SetCursorPos( int x,int y);
This function moves the cursor to the specified screen coordinates...
Смотри дальше в MSDN.
12K
23 мая 2007 года
mathers
33 / / 15.01.2007
Пасиба.
А щелчок?
В MSDN смотрел, видел фигу :)
320
23 мая 2007 года
m_Valery
1.0K / / 08.01.2007
Цитата: mathers
Пасиба.
А щелчок?
В MSDN смотрел, видел фигу :)


1.Добавь в класс главного окна ф-ию OnLButtonDown(UINT nFlags, CPoint point); в ней напиши что_нибудь , например AfxMessageBox("Ахтунг!");
2.В обработчике кнопки или пункта меню напиши

 
Код:
...
             CPoint pt(0,0);
    SetCursorPos(pt.x,pt.y);
    OnLButtonDown(NULL,pt);
...

Курсор переместиться в точку pt,с координатами 0,0 и произийдет имитация нажатия левой кнопки мыши,т.е. выведется MessageBox.
12K
23 мая 2007 года
mathers
33 / / 15.01.2007
Нет, мне надо чтобы не на своём окне, а вообще в любом месте экрана.
320
23 мая 2007 года
m_Valery
1.0K / / 08.01.2007
Цитата: mathers
Нет, мне надо чтобы не на своём окне, а вообще в любом месте экрана.


Так курсор и переместиться в ту точку экрана которую ты задашь.
0,0 - левый верхний угол экрана.

12K
23 мая 2007 года
mathers
33 / / 15.01.2007
OnLButtonDown() активируется же ПОСЛЕ того, как клик происходит.
Тобишь сий код только отловит нажатие, если пользователь его сделает сам.
Или я что то не понимаю?
320
23 мая 2007 года
m_Valery
1.0K / / 08.01.2007
Цитата: mathers
OnLButtonDown() активируется же ПОСЛЕ того, как клик происходит.
Тобишь сий код только отловит нажатие, если пользователь его сделает сам.
Или я что то не понимаю?


Не...:) Тут клик вообще не происходит - это имитация,ты ж не кликаешь по окну левой кнопкой мыши,ты жмешь на какую то кнопку или выбираешь пункт меню.

12K
24 мая 2007 года
mathers
33 / / 15.01.2007
А я хочу, чтобы клик происходил :)
Ну вот как пример - автоматизация установки программы какой либо (не моей), чтобы все щелчки по кнопкам сами выполнялись.
21K
24 мая 2007 года
IERO_Distin
23 / / 21.05.2007
можно попробовать посылать сообщение конкретному окну через
LRESULT SendMessage(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
или
BOOL PostMessage(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
http://msdn2.microsoft.com/en-us/library/ms644950.aspx

тип сообщения - вроде WM_LBUTTONCLICK или вроде того
12K
24 мая 2007 года
mathers
33 / / 15.01.2007
Я так понимаю без обращения к конкретному окну нельзя это сделать?
21K
25 мая 2007 года
IERO_Distin
23 / / 21.05.2007
средствами АПИ насколько я знаю (а знаю плохо да еще и забыл) нельзя.
потому что очередь сообщений должна знать кому мессагу отдать.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог