Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > ОС и железо
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 29.01.2010, 11:48
drakon drakon вне форума
Прохожий
 
Регистрация: 29.01.2010
Сообщения: 2
Репутация: 10
Злость Эмуляция клавиш. Help!!!

Вот такая проблема. Использую keybd_event. К примеру вот так:
Код:
    keybd_event(key,0,0,0);
    keybd_event(key,0,KEYEVENTF_KEYUP,0);

В итоге в приложении получается тока ввод текста. А клавиши управления не срабатывают.
Возьмем к примеру игру какую нибудь. Движение в ней осуществляется кнопками w,a,s,d. И когда я эмулирую нажатие этих кнопок движения не происходит.
Одна ко же при использовании экранной клавиатуры всё работает. И значит способ воспроизвести такую эмуляцию есть.
Возможно есть еще какой нибудь метод. Или надо указывать какие либо особые значения переменных.

Help
Ответить с цитированием
  #2  
Старый 29.01.2010, 11:52
drakon drakon вне форума
Прохожий
 
Регистрация: 29.01.2010
Сообщения: 2
Репутация: 10
По умолчанию

Сразу замечу что поиском пользоваться умею
Но ничего что бы работало найти не смог.
Нашел еще вот это:
Код:
SendMessage(handle, wm_char, key, 0);
Но это на сколько я смог разобраться "велосипед", и аналогично keybd_event

Прошу помочь, может кто то сталкивался с этим, а то курсовая легла мертвым грузом
Ответить с цитированием
  #3  
Старый 28.02.2010, 09:23
Аватар для W1ndow
W1ndow W1ndow вне форума
Новичок
 
Регистрация: 15.09.2009
Адрес: Березники
Сообщения: 61
Репутация: 16
По умолчанию

SendMessage и keybd_event разные вещи.

keybd_event эмулируте нажатие клавиатуры, типо того что ты нажимаешь руками на клавиатуре.

а SendMessage отправляет сообщение о нажатие в определённое окно(например)

На счёт того что в контре не работает я не знаю, но в Lineage II это работает точно, сам делал. Есть ещё такой вариант

Код:
procedure EmulateKey(Wnd: HWND; VKey: Integer);
asm
push 0
push edx
push 0101H 
push eax
push 0
push edx
push 0100H 
push eax
call PostMessage
call PostMessage
end;

Эта процедура эмулирует нажатие кнопки на клаве. VKey это и есть кнопка.
Ответить с цитированием
  #4  
Старый 06.03.2010, 11:54
UltraBloxX UltraBloxX вне форума
Новичок
 
Регистрация: 13.05.2009
Сообщения: 66
Репутация: 10
По умолчанию

Драйвер клавы надо реализовать. Управляя им можно будет 100% во всех прогах эмулировать нажатия клавиш.
Ответить с цитированием
  #5  
Старый 06.03.2010, 14:10
Аватар для W1ndow
W1ndow W1ndow вне форума
Новичок
 
Регистрация: 15.09.2009
Адрес: Березники
Сообщения: 61
Репутация: 16
По умолчанию

Цитата:
Сообщение от UltraBloxX
Драйвер клавы надо реализовать. Управляя им можно будет 100% во всех прогах эмулировать нажатия клавиш.

Нет не во всех, достим взять игру где стоит защита GameGuard там ты никаким программным путём не сможешь реализовать эмуляцию клавиш.
Ответить с цитированием
  #6  
Старый 06.03.2010, 17:55
UltraBloxX UltraBloxX вне форума
Новичок
 
Регистрация: 13.05.2009
Сообщения: 66
Репутация: 10
По умолчанию

Он может заблокировать драйвер клавиатуры? GameGuard можно обойти даже модифицированным Cheat Engine... А если написать свой драйвер клавиатуры - то думаю GameGuard не справится с ним... Хотя бы до публикации драйвера.
Ответить с цитированием
  #7  
Старый 06.03.2010, 21:12
Аватар для W1ndow
W1ndow W1ndow вне форума
Новичок
 
Регистрация: 15.09.2009
Адрес: Березники
Сообщения: 61
Репутация: 16
По умолчанию

Воспользоваться Cheat Engine не получится, так как прога внедряется в игру. GameGuard сразу же вырубит игру и не чего не выйдет.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 16:28.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter