Code:

const

 

ExtendedKeys: set of Byte = [ // incomplete list

VK_INSERT, VK_DELETE, VK_HOME, VK_END, VK_PRIOR, VK_NEXT,

   VK_LEFT, VK_UP, VK_RIGHT, VK_DOWN, VK_NUMLOCK

   ];

 

procedure SimulateKeyDown(Key: byte);

var

 

flags: DWORD;

begin

 

if Key in ExtendedKeys then

   flags := KEYEVENTF_EXTENDEDKEY

else

   flags := 0;

keybd_event(Key, MapVirtualKey(Key, 0), flags, 0);

end;

 

procedure SimulateKeyUp(Key: byte);

var

 

flags: DWORD;

begin

 

if Key in ExtendedKeys then

   flags := KEYEVENTF_EXTENDEDKEY

else

   flags := 0;

keybd_event(Key, MapVirtualKey(Key, 0), KEYEVENTF_KEYUP or flags, 0);

end;

 

procedure SimulateKeystroke(Key: byte);

var

 

flags: DWORD;

scancode: BYTE;

begin

 

if Key in ExtendedKeys then

   flags := KEYEVENTF_EXTENDEDKEY

else

   flags := 0;

scancode := MapVirtualKey(Key, 0);

keybd_event(Key,

   scancode,

   flags,

   0);

keybd_event(Key,

   scancode,

   KEYEVENTF_KEYUP or flags,

   0);

end;

 

 

 

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить