![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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;