HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Наш форум > Технические вопросы > эмуляция нажатия
Страницы (3): « 1 [2] 3 »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
BioHazard
Jess Liberty C++ за 21 день

Дата регистрации: Nov 2008
Проживает: (void)
Сообщений: 274

Рейтинг



а разве он что то не правильно сказал? я полистал немного, вроде бы действительно можно отправлять мессагу в окно, через SendMessage или PostMessage .. Тут уже я чото налепил, не люблю винапи :S Прошу уж подсказать как тут быть..

Сообщить модератору | | IP: Записан
Сообщение: 50122

Старое сообщение 10-01-2010 14:20
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32213
Нанёс повреждений: 392 ед.

Рейтинг



BioHazard выкинь среднюю мессагу нафиг. Не нужна она.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 50123

Старое сообщение 10-01-2010 14:25
-
BioHazard
Jess Liberty C++ за 21 день

Дата регистрации: Nov 2008
Проживает: (void)
Сообщений: 274

Рейтинг



убрал, но я не понимаю почему процесс завершается как только я нажму на нужную кнопку
Вместо мессаг ставил просто cout, дабы посмотреть как оно там работает, оказывается проблема в самом цикле.. Хотя даже наверное не в самом цикле, а в GetAsyncKeyState(VK_SPACE).. То ли я не правильно что то указал, то ли она не хочет возвращать false что конечно маловероятно..

Сообщить модератору | | IP: Записан
Сообщение: 50126

Старое сообщение 10-01-2010 15:25
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32213
Нанёс повреждений: 392 ед.

Рейтинг



BioHazard да ты посмотри как в квейке устроено
Там маленький цикл, который считывает все пришедшие мессаги.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 50127

Старое сообщение 10-01-2010 16:32
-
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34528
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


да цикл у тебя организован неправильно, что тут думать?
надо его сделать бесконечным, и прерывать только при нажатии другой клавиши, скажем, еск.

__________________

Сообщить модератору | | IP: Записан
Сообщение: 50128

Старое сообщение 10-01-2010 16:35
-
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32213
Нанёс повреждений: 392 ед.

Рейтинг



У меня такое ощущние - наугад как ночью по тайге.
Человек задает совершенно посторонние вопросы, мы ему даем совершенно посторонние ответы, а в конце он напишет - спасибо все получилось. Вот и думай что это было.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 50129

Старое сообщение 10-01-2010 18:37
-
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34528
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Дядя Миша
Главное, чтобы у автора получилось.

__________________

Сообщить модератору | | IP: Записан
Сообщение: 50130

Старое сообщение 10-01-2010 18:43
-
BioHazard
Jess Liberty C++ за 21 день

Дата регистрации: Nov 2008
Проживает: (void)
Сообщений: 274

Рейтинг



тык я спасибо написал за то что сказали куда копать..
А по делу - делов то, подправить цикл и разобраться с мессагами

Сообщить модератору | | IP: Записан
Сообщение: 50131

Старое сообщение 10-01-2010 19:01
- За что?
BioHazard
Jess Liberty C++ за 21 день

Дата регистрации: Nov 2008
Проживает: (void)
Сообщений: 274

Рейтинг



ну помогите хотябы с отправкой мессаги

Сообщить модератору | | IP: Записан
Сообщение: 50207

Старое сообщение 13-01-2010 16:22
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32213
Нанёс повреждений: 392 ед.

Рейтинг



BioHazard да ты хотябы код покажы. Только не в теге, а вложением, блин.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 50208

Старое сообщение 13-01-2010 17:10
-
BioHazard
Jess Liberty C++ за 21 день

Дата регистрации: Nov 2008
Проживает: (void)
Сообщений: 274

Рейтинг



к стати, это правда, что GetAsyncKeyState() можно использовать только в win32 оконном приложении?Я же делал консольным, поэтому наверное и не получалось, т.к. точка входа там через WinMain().. В общем тут я вообще не знаю поэтому прошу подправить если что..

------------------------------------------

еще хотелось бы спросить, как считывать параметры запуска программы? например bhop.exe -space ?
Пробовал через char argv[], но передать параметры в GetAsyncKeyState() из нее у меня не получалось =/

Вложение: bhop.rar (0.3 кб)
Этот файл был скачан 197 раз.
Дядя Миша проверил это вложение на вирусы 13-01-2010 в 21:08

Сообщить модератору | | IP: Записан
Сообщение: 50223

Старое сообщение 13-01-2010 19:51
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32213
Нанёс повреждений: 392 ед.

Рейтинг



BioHazard это не код, а гамно какое-то. Тут все переделывать надо.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 50227

Старое сообщение 13-01-2010 21:08
-
BioHazard
Jess Liberty C++ за 21 день

Дата регистрации: Nov 2008
Проживает: (void)
Сообщений: 274

Рейтинг



не спорю. вот и прошу помощи..

Сообщить модератору | | IP: Записан
Сообщение: 50231

Старое сообщение 13-01-2010 21:43
- За что?
BioHazard
Jess Liberty C++ за 21 день

Дата регистрации: Nov 2008
Проживает: (void)
Сообщений: 274

Рейтинг



Со считыванием состояния кнопки разобрался. Остался вопрос с отправкой мессаги в окно.. Мессага в окно не отправляется вообще =(

Вложение: bhop.rar (0.3 кб)
Этот файл был скачан 166 раз.
Дядя Миша проверил это вложение на вирусы 14-01-2010 в 19:09

Отредактировано BioHazard 14-01-2010 в 15:27

Сообщить модератору | | IP: Записан
Сообщение: 50257

Старое сообщение 14-01-2010 15:16
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34528
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Во-первых, посмотри внимально МСДН. Я смотрю, ты лихо поставил четвертый параметр в 0 в обоих вызовах.
Во-вторых, вот почитай:

Цитата:
Вот как работает SendMessage. Если поток вызывает SendMessage для посылки со-
общения окну, созданному им же, то функция просто обращается к оконной процедуре соответствующего окна как к подпрограмме. Закончив обработку, оконная процедура передает функции SendMessage некое значение, а та возвращает его вызвавшему потоку.

Однако, если поток посылает сообщение окну, созданному другим потоком, операции, выполняемые функцией SendMessage, значительно усложняются. Windows требует, чтобы оконное сообщение обрабатывалось потоком, создавшим окно. Поэтому, если вызвать SendMessage для отправки сообщения окну, созданному в другом процессе и, естественно, другим потоком, Ваш поток не сможет обработать это сообщение — ведь он не работает в адресном пространстве чужого процесса, а потому не имеет доступа к коду и данным соответствующей оконной процедуры. И действительно, Ваш поток приостанавливается, пока другой поток обрабатывает сообщение. Поэтому, чтобы один поток мог отправить сообщение окну, созданному другим потоком, система должна выполнить следующие действия.

Во-первых, переданное сообщение присоединяется к очереди сообщений потока-приемника, в результате чего для этого потока устанавливается флаг QS_SENDMESSAGE. Во-вторых, если поток-приемник в данный момент выполняет какой-то код и не ожидает сообщений (через вызов GetMessage, PeekMessage или WaitMessage), переданное сообщение обработать не удастся — система не прервет работу потока для немедленной обработки сообщения. Но когда поток-приемник ждет сообщений, система сначала проверяет, установлен ли флаг пробуждения QS_SENDMESSAGE, и, если да, просматривает очередь синхронных сообщений, отыскивая первое из них. В очереди может находиться более одного сообщения. Скажем, несколько потоков одновременно послали сообщение одному и тому же окну. Тогда система просто ставит эти сообщения в очередь синхронных сообщений потока.

Итак, когда поток ждет сообщений, система извлекает из очереди синхронных сообщений первое и вызывает для его обработки нужную оконную процедуру. Если таких сообщений больше нет, флаг QS_SENDMESSAGE сбрасывается. Пока поток-приемник обрабатывает сообщение, поток, отправивший сообщение через SendMessage, простаивает, ожидая появления сообщения в очереди ответных сообщений. По окончании обработки значение, возвращенное оконной процедурой, передается асинхронно в очередь ответных сообщений потока-отправителя. Теперь он пробудится и извлечет упомянутое значение из ответного сообщения. Именно это значение и будет результатом вызова SendMessage. С этого момента поток-отправитель возобновляет работу в обычном режиме.

__________________

Сообщить модератору | | IP: Записан
Сообщение: 50260

Старое сообщение 14-01-2010 15:41
-
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 08:51. Новая тема    Ответить
Страницы (3): « 1 [2] 3 »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Наш форум > Технические вопросы > эмуляция нажатия
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024