URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 5924
[ Назад ]

Исходное сообщение
"как на C (Bi) написать прогу которая инициировала нажатие клавиши мыши"

Отправлено user , 16-Ноя-06 16:11 
как написать прогу на C или C Bilder с помошью которой можно автоматически выполнялось нажатие клавиши мыши в определенном месте экрана потом удерживая левую клавишу мыши выделяла определенную область экрана? если кто знает то скажите. хотябы какими функциями пользоваться для этой цели?

Содержание

Сообщения в этом обсуждении
"как на C (Bi) написать прогу которая инициировала нажатие кл..."
Отправлено aljaba , 16-Ноя-06 16:30 
>как написать прогу на C или C Bilder с помошью которой можно
>автоматически выполнялось нажатие клавиши мыши в определенном месте экрана потом удерживая
>левую клавишу мыши выделяла определенную область экрана? если кто знает то
>скажите. хотябы какими функциями пользоваться для этой цели?


Установить координаты курсора можно, используя функцию SetCursorPos:
SetCursorPos(random(Screen->Width),random(Screen->Height));

Узнать координаты курсора можно так:

POINT cur_pos;
GetCursorPos(&cur_pos);
тогда cur_pos.x - координата по х, а
cur_pos.y - по y

Эмуляция нажатия кнопки в текущих координатах курсора:

mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0); // нажали левую кнопку мыши
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0); // отпустили левую кнопку мыши ( НЕ ЗАБЫВАТЬ )

Аналогично с правой кнопкой, но флаг равен:
MOUSEEVENTF_RIGHTDOWN и MOUSEEVENTF_RIGHTUP соответственно
Со средней кнопкой:
MOUSEEVENTF_MIDDLEDOWN и MOUSEEVENTF_MIDDLEUP соответственно

2-ой и 3-ий параметры функции mouse_event - координаты мыши.
При флаге MOUSEEVENTF_MOVE - смещение в пикселях от текущей точки, а если установлен флаг MOUSEEVENTF_ABSOLUTE, то координаты необходимо передать в абсолютном формате.
Перевести можно так:

cur_pos.x = cur_pos.x * (65535 / Screen->Height);
cur_pos.y = cur_pos.y * (65535 / Screen->Height);


из faq по Cbuilder


"как на C (Bi) написать прогу которая инициировала нажатие кл..."
Отправлено user , 16-Ноя-06 16:54 
Спасибо огромно, я попробую! главное что функции знаю теперь! еще раз спасибо!

"как на C (Bi) написать прогу которая инициировала нажатие кл..."
Отправлено aljaba , 16-Ноя-06 17:29 
>Спасибо огромно, я попробую! главное что функции знаю теперь! еще раз спасибо!
>Рад, если смог помочь



"=("
Отправлено Виталик , 03-Апр-09 14:21 
Помогите кто нить хочу чтобы курсор нажимал на одно и то же место несколько раз с отрывками времени!(Например нажал через 5 сек еще раз итд)Без моего участия чтобы запустить программу и она нажимала!
Заранее спасибо!