Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.05.2010, 03:56   #1
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию Послать нажатие кнопки в игру (Warcraft)

Собственно вот, что я хочу:
При нажатие на Q должна включаться первая способность, W - вторая и т.д.

Понимаю, что первую часть нужно делать через горячие кнопки. Но не понимаю как послать в игру нажатие кнопки. Ещё лучше послать клик мыши в заданные координаты (mouse_event - слишком тупо). Как быть?
TwiX вне форума Ответить с цитированием
Старый 19.05.2010, 08:09   #2
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Ну узнай имя класса окна и посылай в него сообщения.
У моего LichKing-а класс GxWindowClassD3d
Ну вот значит делаешь так
Код:
hWow: HWND;
...
hWow := findWindow('GxWindowClassD3d', nil);
...
postMessage(hWow, WM_CHAR, ord('q'), 0);
Если с WM_CHAR-ом не выйдет то юзни WM_KEYDOWN;

Я то не проверял, но по идее должно работать, если а игре ничего не наваротили.

А для мышки посылай WM_LBUTTONDOWN ну или WM_RBUTTONDOWN, в зависимости от кнопки.
Altera вне форума Ответить с цитированием
Старый 19.05.2010, 08:13   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
если а игре ничего не наваротили
прямой опрос устройства в DX-игре это не наварот, вопрос, используется ли он. проще проверить обычные оконные процедуры и там видно будет.
(у меня эмулятор дримкаста, не на сообщениях работал)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 19.05.2010, 15:22   #4
CraftR14
Все к лучшему...
Форумчанин
 
Регистрация: 06.04.2010
Сообщений: 112
По умолчанию

Hooks попробуй чтоб перехватить нажатие "Q" или чо там тебе нада =)
а как ток перехватиш делай то что ты там хочеш =)
CraftR14 вне форума Ответить с цитированием
Старый 20.05.2010, 15:40   #5
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Смог послать нажатие в рабочую область, но не на панельку...

На землю нажимается, а на способности - нет.

Код:
h:=FindWindow(nil, 'Warcraft III');
  if h=0 then
  begin
    ShowMessage('Fail');
    exit;
  end;

  sleep(3000);

  PostMessage(h, WM_RBUTTONDOWN, 0, MakeLParam(800-25, 490));
  Sleep(300);
  PostMessage(h, WM_RBUTTONUP, 0, 0);


  //Тут я пытался найти дочерние окна - думал про панельку. Но ни одного окна не находит
  //q:=FindWindowEx(h, 0, 0, 0);
  {q:=getwindow(q, GW_CHILD);
        
  While (q<>0) do             
  Begin
    Application.ProcessMessages; 
    q := GetNextWindow(q, GW_HWNDNEXT);
    GetWindowText(q,Nm,255); 
    GetClassName(q,Cs,255); 
    Form1.ListBox1.Items.Add(String(Nm)+'/'+String(Cs));
  End;}
end;
Хотя WinSpy показывает, что оно не одно (я понимаю, что дочерних нет, но и соседние не получается достать)
Изображения
Тип файла: jpg Снимок.jpg (48.9 Кб, 126 просмотров)

Последний раз редактировалось TwiX; 20.05.2010 в 15:45.
TwiX вне форума Ответить с цитированием
Старый 20.05.2010, 15:48   #6
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

"Hidden windows" не пробовали включать?
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 20.05.2010, 17:46   #7
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Пробовал... Ничего не меняется
TwiX вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нажатие кнопки beygul Помощь студентам 2 30.01.2010 21:34
На нажатие кнопки access6472043 Microsoft Office Access 2 29.11.2009 15:08
Как послать нажатие кнопки? И вопрос про хук клавы. TwiX Общие вопросы Delphi 22 11.09.2009 19:14
нажатие кнопки xakkkkker Работа с сетью в Delphi 1 20.11.2008 01:08
повторное нажатие кнопки blackstersl Общие вопросы Delphi 2 17.09.2008 14:53