![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
grust |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 27.12.2006 Репутация: нет Всего: нет |
Нужно написать прогу которая, будет нажимать сама в разных местах экрана, как это сделать?
|
|||
|
||||
codelord |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 777 Регистрация: 7.5.2005 Где: ты моя темноглаза я где?! Репутация: 1 Всего: 39 |
тебе помогут
И mouse_event |
|||
|
||||
witex |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 224 Регистрация: 16.10.2006 Где: Эстония Репутация: 0 Всего: 4 |
Разделом ошибся! Это в winapi. ваабще всё в мсдн есть!
установка координат. установку дал.. остальное ищи=) З.Ы. Codelord, чё то ты мня опередил=)) Это сообщение отредактировал(а) witex - 28.12.2006, 02:18 --------------------
Я не волшебник, я только учусь."Шлёпни в Гугл" - Афтор Былов Ю.М. |
|||
|
||||
grust |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 27.12.2006 Репутация: нет Всего: нет |
А как сэмулировать нажатие на левую кнопку мыши?
|
|||
|
||||
WERITAS |
|
|||
******** ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 2.5.2005 Где: Москва Репутация: нет Всего: 5 |
В оконной процедуре обработать case WM_LBUTTONDOWN:, если ты конечно на API делаешь. -------------------- Арт-менеджер клуба, разрешивший концерт Алексея Глызина, уволен с формулировкой "Мудак" |
|||
|
||||
zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 26 Всего: 92 |
WERITAS, таким образом ты обработаешь реакцию программы на нажатие левой клавиши мыши. grust, не ленимся пользоваться поиском, ради интереса скопировал в гугл "как сэмулировать нажатие на левую кнопку мыши" |
|||
|
||||
grust |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 27.12.2006 Репутация: нет Всего: нет |
Мне нужно что он нажимал на кнопки в чужой программе
|
|||
|
||||
zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 26 Всего: 92 |
||||
|
||||
grust |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 27.12.2006 Репутация: нет Всего: нет |
Я просмотрел 10 страниц в поисковике, но так и не нашёл ни чего интересного, кроме SendMessage(Хэндл окна,WM_LBUTTONDOWN, MK_LBUTTON,MAKELONG(15,10)) но я не знаю какой хэндл у приложения на котрое мне нужно нажимать, как отловить этот хэдл?
|
|||
|
||||
zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 26 Всего: 92 |
в первой ссылке пример для Дельфи, в третьей для Buildera...
вот в MFC:
|
|||
|
||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 20 Всего: 121 |
Между нажатием и отпусканием сделай паузу Sleep(50);
Часто сталкивался с ситациями, когда без этой задержки нажатие не осуществлялось, точнее оно может и было, но на него не успела отреагировать программа(вытесняющая многопоточность, не забываем). -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
grust |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 27.12.2006 Репутация: нет Всего: нет |
mouse_event работает только на том окне, которое его запустило, а мне нужно, что бы он нажимал на чужое окно...
|
|||
|
||||
HellanD |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 443 Регистрация: 16.5.2006 Где: Киев Репутация: нет Всего: 2 |
Дак ведь это делает функа FindWindow или FindWindowEx Вот читай
|
||||
|
|||||
zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 26 Всего: 92 |
неправда, следующий код кликнет куда угодно на экране:
|
|||
|
||||
grust |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 27.12.2006 Репутация: нет Всего: нет |
Да, код работает, на других приложениях, кроме того кторое мне надо..( Приложение на которое мне нужно нажимать - игрушка, со всеми вытекающими последствиями, постоянный рэндеринг и т.д. так вот на него он не кликает(
|
|||
|
||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 20 Всего: 121 |
grust, писал такое для игры(CS) и как раз с помощью mouse_event, правда флаги были другими, попробуй вот так:
Всё чётко работало и работает. -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
grust |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 27.12.2006 Репутация: нет Всего: нет |
не компилируеться
.\hook.cpp(41) : error C2065: 'cbuttons' : undeclared identifier .\hook.cpp(41) : error C2065: 'dwExtraInfo' : undeclared identifier |
|||
|
||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 20 Всего: 121 |
Даже не знаю почему, наверное так сложились звёзды... -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
codelord |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 777 Регистрация: 7.5.2005 Где: ты моя темноглаза я где?! Репутация: 1 Всего: 39 |
если windows 2000/xp то dwData параметр там где cbutton вообще не нужен:
а второй пармерт dwExtraInfo можно найти:
Добавлено @ 21:34 а что делает если не секрет ![]() |
||||
|
|||||
Rockie |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 23.4.2006 Репутация: 8 Всего: 31 |
![]() W4FhLF, хы, а что скрипт делал? ![]() -------------------- Чтобы иметь большой гардероб - надо иметь большой гардероб. |
|||
|
||||
zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 26 Всего: 92 |
||||
|
||||
W4FhLF |
|
||||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 20 Всего: 121 |
А может кстати и не для CS, я точно не знаю, мне просто заказали. Делала она следующее: Если держать 1.5 секунды левую кнопку мыши, то после этого периода кнопка начинает программно нажиматься каждый 100 миллисекунд. Ну насколько я понял, человеку это нужно было для того, чтобы из пистолета стрелять как из автомата ![]() -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
||||
|
|||||
Rockie |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 23.4.2006 Репутация: 8 Всего: 31 |
W4FhLF, понятно. Это просто делается и средствами CS, можно к примеру повесить выстрел и на нажатие кнопки мыши и на отжатие. А задержки кстати зависят напрямую от качества линии, то есть нужно их подстраивать. Наверное все-таки не для CS..
-------------------- Чтобы иметь большой гардероб - надо иметь большой гардероб. |
|||
|
||||
Alx |
|
|||
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: нет Всего: 78 |
Столкнулся с похожей задачей:
сразу несколько вопросов: 1) а игры могут распознать, что клик такими средствами был сэмулирован? что, если они как-то работают напрямую? (с DirectX?) 2) возможно, тогда встает необходимость написать драйвер, эмулирующий мышь? наверное, это должно быть на основе DDK/WDK? 3) может лежит уже что-то в форме API у кого нибудь? ищу 2 дня, пока не нашел.. ![]() Это сообщение отредактировал(а) Alx - 18.8.2010, 12:26 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |