Информационный сервер для программистов: Исходники со всего света. Паскальные исходники со всего света
  Powered by Поисковый сервер Яndex: Найдется ВСЁ!
На Главную Pascal Форум Информер Страны мира
   Клавиатура    >>    stuffkey
   
 
 Имитация нажатия клавиш   Виктор Вагнер 16.02.1994

Как имитировать последовательное нажатие нескольких клавиш



1k 
 

From: Vitus Wagner <root@agropc.msk.su> Organization: Agroecological problems Center > Как сымитировать нажатие агромадной кучи клавиш? Самое простое - воспользоваться Turbo Professional или Object Professional от TurboPower. В модуле TPCRT (OPCRT) есть специальные процедуры для этого: StuffKey - пихает одну клавишу (со скэнкодом) и StuffString - пихает строку (с нулевыми скэнкодами). Если у вас нет Turbo Professional, но вы уверены, что никому не придет в голову запускать вашу программу на XT, воспользуйтесь 5-1 функцией прерывания 16H. Например, вот так: function WriteKey(Key:Word):boolean;Assembler; {Старший байт - скэнкод, младший - ASCII код} {Возвращает False если все в порядке и True, если в буфере нет места} asm Mov ah,5 mov CX,Key int 16H end; Все это рассчитано на случай, когда в "агромадной куче" меньше 32 символов. Если же их больше, то такими простыми средствами не обойтись. В Turbo Professional есть средства и на этот счет - модуль TPMacro. В демонстрационной программе SMACS, которая к нему прилагается, удавалось создавать макросы из нескольких сот клавиш, которые работают в совершенно посторонних программах (SMACS - резидент). Vitus Wagner Vitus@agropc.msk.su