pan class="u9">(bittable, bitmask: byte): boolean;
begin
result := bytebool(bittable and bitmask);
end;
var
l: word;
i: word;
mkey: word;
scancode: byte;
const
vkkeyscanshifton = $01;
vkkeyscanctrlon = $02;
vkkeyscanalton = $04;
begin
l := strlen(keys);
if l = 0 then exit;
for i := 0 to l - 1 do
begin
mkey := vkkeyscan(keys[i]);
if mkey <> $ffff then
begin
scancode := hi(mkey);
if bitset(scancode, vkkeyscanshifton) then sendkeydown(vk_shift);
if bitset(scancode, vkkeyscanctrlon) then sendkeydown(vk_control);
if bitset(scancode, vkkeyscanalton) then sendkeydown(vk_menu);
sendkeydown(mkey);
sendkeyup(mkey);
if bitset(scancode, vkkey