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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 29.10.2013, 17:09
Аватар для R.M.V.D
R.M.V.D R.M.V.D вне форума
Прохожий
 
Регистрация: 10.03.2013
Адрес: Санкт-Петербург
Сообщения: 22
Версия Delphi: XE2 и XE3
Репутация: 10
По умолчанию Постоянный мониторинг

Нужна помощь!
Делаю программу, которая отслеживает сдвиг мыши. Т.е если сдвигаешь мышь влево, то программа нажимает на клавишу A, если вправо, то на D.
Это нужно для управления смещением персонажа в игре. A-влево, D-вправо. Программа работает нормально, если проверять ее работоспособность в текстовом редакторе, однако при включенной игре программа не работает или работает некорректно.
P.S работоспособность программы можно проверить на примере блокнота. Открыть блокнот, щелкнуть по полю ввода мышью и дальше просто смещать мышь и в блокнот будет вводиться направление смещения мыши. Однако такого не происходит при включенной игре(
Как сделать чтобы при включенной игре происходила корректная работа программы?
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
var
  foo,foo1: TPoint;
  vl,vp:integer;
begin

vl:=SpinEdit1.Value;
vp:=SpinEdit2.Value;
 GetCursorPos(foo);
 sleep(1);
 GetCursorPos(foo1);
   if foo.X>foo1.x then
   keybd_event(Ord('A'), 0, 0, 0);
   sleep(vl);
   if foo.X<foo1.x then
   keybd_event(Ord('D'), 0, 0, 0);
   sleep(vp);
   end;
Ответить с цитированием
  #2  
Старый 29.10.2013, 17:24
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Может быть поможет SendInput. А вообще игры часто через одно место клавиши проверяют.
Вдобавок некоторые игры фиксируют мышь и делают свою.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием
  #3  
Старый 29.10.2013, 17:36
Аватар для R.M.V.D
R.M.V.D R.M.V.D вне форума
Прохожий
 
Регистрация: 10.03.2013
Адрес: Санкт-Петербург
Сообщения: 22
Версия Delphi: XE2 и XE3
Репутация: 10
По умолчанию

c SendInput не знаком(
Как его применить?
Ответить с цитированием
  #4  
Старый 29.10.2013, 17:46
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

API жешь.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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