Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Как программно нажать на кнопку Tab


Автор: andrey_post 20.12.2004, 10:15
Есть стотонне приложение. Я его вывожу на "передний" план и мне нужно послать ему сообщение как будто я нажал кнопку Tab на клаве.
Как сие сделать?

Автор: dm9 20.12.2004, 12:59
keybd_event (9, 0, 0, 0);
keybd_event (9, 0, 0, KEYEVENTF_KEYUP);

Автор: andrey_post 20.12.2004, 14:07
А я написал такую процедуру:
Код

Procedure PostKeyEx32A(key: Word; specialkey: Boolean);
Var flag: DWORD;
  i: Integer;
Begin
For i := 1 To 3 Do
if specialkey Then flag := KEYEVENTF_EXTENDEDKEY Else flag := 0;
keybd_event( key, MapvirtualKey( key, 0 ), flag, 0 );
flag := flag or KEYEVENTF_KEYUP;
keybd_event( key, MapvirtualKey( key, 0 ), flag, 0 );
End;



Вызвал
Код

PostKeyEx32A(ORD(#9),false);

Канает. Я через 2ве минуты догадался что надо keybd_event использовать.
Проверил - робит.
Потом вот твое прочитал

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)