HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Нажатие клавиш в Counter Strike
  #1  
Старый 20.03.2009, 17:09
sn0w
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
С нами: 10943066

Репутация: 1236


По умолчанию Нажатие клавиш в Counter Strike

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

пробовал такие методы:

1)
GetKeyboardState(keyb);
keyb[VK_SPACE] |= 128;
SetKeyboardState(keyb);

2) через SendInput

3) keybd_event

работает и в менюхах и в консоли, но в самой игре - реакция 0. =(

сталкивался кто?
(может директинпут... но с этим сомнения есть)
__________________


snow white world wide
 
Ответить с цитированием

  #2  
Старый 20.03.2009, 18:12
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами: 10097606

Репутация: 3349


По умолчанию

Ну тогда попробуй поглядеть все окна которые принадлежат процессу и каждому окну шли WM_KEYDOWN / WM_KEYUP
 
Ответить с цитированием

  #3  
Старый 20.03.2009, 18:23
sn0w
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
С нами: 10943066

Репутация: 1236


По умолчанию

тоже делал через PostMessage.
тут не проходит тк юзается dinput который читает напрямую.

тогда суть немного меняется - как изменить kbdclass из ддк чтобы можно было "вписывать" нажатие программно =)
__________________


snow white world wide
 
Ответить с цитированием

  #4  
Старый 20.03.2009, 18:48
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами: 10097606

Репутация: 3349


По умолчанию

Тогда тебе нужно через IoCreateDevice и IoAttachDevice аттачиться к \\Device\\KeyboardClass0 и там уже фильтровать что и откого идет чтобы глянуть как пашет, а дальше самому работать уже с этим устройством для посылки нажания

А вообще обработка нажатия на кнопку
в \\Device\\KeyboardClass0 идет через IRP_MJ_READ
Где буфер - это
typedef struct _KEYBOARD_INPUT_DATA {
USHORT UnitId;
USHORT MakeCode;
USHORT Flags;
USHORT Reserved;
ULONG ExtraInformation;
} KEYBOARD_INPUT_DATA, *PKEYBOARD_INPUT_DATA;

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

Последний раз редактировалось slesh; 20.03.2009 в 19:04..
 
Ответить с цитированием

  #5  
Старый 20.03.2009, 19:35
rushter
Reservists Of Antichat - Level 6
Регистрация: 23.05.2008
Сообщений: 756
С нами: 9456866

Репутация: 979


По умолчанию

скачай сорцы читов и посмотри
 
Ответить с цитированием

  #6  
Старый 20.03.2009, 19:50
sn0w
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
С нами: 10943066

Репутация: 1236


По умолчанию

блин я немного забыл что когда контру сворачиваешь, управление переходит к рабочему столу, чтож тогда буду тренироваться с dinput %)
__________________


snow white world wide
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Counter Strike ronald С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 11 05.01.2009 20:25



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.