Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

keybd_event


esVer ©   (2004-04-16 12:35:00) 

Пытаюсь программно нажать Ctrl+Ins сдедующим кодом:
 keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, 0), 0, 0);
 keybd_event(VK_INSERT, MapVirtualKey(VK_INSERT, 0), 0, 0);
 sleep(1000);
 keybd_event(VK_INSERT, MapVirtualKey(VK_INSERT, 0), KEYEVENTF_KEYUP, 0);
 keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, 0), KEYEVENTF_KEYUP, 0);


Не получается :((
В чем я не прав?


ssk   (2004-04-17 14:41:00) [1]

странно... у меня все работает. вот как я тестил:


Form1.KeyPreview:=True;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, 0), 0, 0);
 keybd_event(VK_INSERT, MapVirtualKey(VK_INSERT, 0), 0, 0);
 sleep(100);
 keybd_event(VK_INSERT, MapVirtualKey(VK_INSERT, 0), KEYEVENTF_KEYUP, 0);
 keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, 0), KEYEVENTF_KEYUP, 0);
end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
 Shift: TShiftState);
begin
 if (ssCtrl in Shift) and (Key = VK_INSERT) then
   ShowMessage('нажато');
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо