Показать сообщение отдельно
  #6  
Старый 04.09.2011, 22:27
ApxaHGe1 ApxaHGe1 вне форума
Активный
 
Регистрация: 08.04.2008
Адрес: Нижний новгород
Сообщения: 311
Репутация: 38
По умолчанию

Цитата:
Сообщение от HunteRus
Народ я хочу написать прогу чтоб стрейфы в контре делать но не могу управлять кнопками клавы в контре, тока мышью(а этого мало). Подскажите плз методы для нажатия желательно чтоб в контре нажималось.

Не работающие в контре методы:
1) Контра не реагирует на такие нажатия
Код:
procedure SimulateKeystroke(Key : byte; extra : DWORD);
begin
    keybd_event(Key,extra,0,0);
    keybd_event(Key,extra,KEYEVENTF_KEYUP,0);
end;

procedure SimulateKeyDown(Key : byte; extra : DWORD);
begin
    keybd_event(Key,0,0,0);
end;

procedure SimulateKeyUp(Key : byte; extra : DWORD);
begin
    keybd_event(Key,0,KEYEVENTF_KEYUP,0);
end;

2) И на отправку месаджа тоже
Код:
  sendMessage(handle, WM_KEYDOWN, 65, 0); //На это не реагирует
  sendMessage(handle, WM_CLOSE, 65, 0); //А тут реагирует(закрывается)
попробуй


Код:
var
Layout    : array [0..KL_NAMELENGTH] of Char;

  if Layout <> '00000409' then
  begin
    LoadKeyboardLayout('00000409', klf_activate);                 
    ActivateKeyboardLayout(LoadKeyboardLayout('00000409', 0), 0);
  end;

Тут мы раскладку клавиатуры  меняли на ENG
keybd_event(VK_SPACE,0,0,0);
Sleep(10);
keybd_event(VK_SPACE,0,KEYEVENTF_KEYUP,0);
Ответить с цитированием