Показать сообщение отдельно
  #3  
Старый 23.04.2015, 15:11
Gareth Gareth вне форума
Активный
 
Регистрация: 21.03.2013
Адрес: Приднестровье
Сообщения: 202
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от NumLock
не нужны здесь потоки
Не нужны, в смысле не обязательны, или именно не нужны?
И всё таки подскажите, как это реализовать..
Я попробовал так:
Код:
  flag:Boolean;
 cs:HWND;
Код:
 procedure TMyThread.Execute;
begin
  while flag=True do
  begin
    if GetForegroundWindow=cs then
      begin
         SendMessage(cs,WM_KEYDOWN ,VK_SPACE, MakeLong(0, MapVirtualKey(VK_SPACE, 0)));
         sleep(10);
         SendMessage(cs,WM_KEYUP ,VK_SPACE, MakeLong(0, MapVirtualKey(VK_SPACE, 0)));
         Sleep(1);
      end;
  end;
end;

С этим кодом не могу в игре двигаться, тупо прыгает и всё, даже если отключить, он отключается через несколько секунд.

Скажите хотя бы почему так. Хоть для себя узнаю что-то новое..

Я бы сделал в программе через таймер всё... Но там и так уже 5 таймеров работают... И к тому же если посылать в окно игры нажатие пробела в таймере, то откровенно говоря коряво работает, должен постоянно прыгать, то-есть, как только коснулся земли, должен сразу прыгнуть. Таймер не спровляется, он не может дать столько нажатий в секунду, сколько надо.. Поток в этом деле может помочь ?


Только что попробовал увеличить sleep(...) работа стала как и в таймере, можно двигаться и тд, но прыгает плохо...
Ответить с цитированием