1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| procedure TMyHotKey.SimuleKey(const aChar: Char);
begin
Case aChar Of
{Touches majuscules}
'A'..'Z','0'..'9','?','.','/','§','£','%','µ','°','+':
Begin
ToogleKey(VK_SHIFT);
DoKeybdEvent(VkKeyScan(aChar));
ToogleKey(VK_SHIFT, False);
End;
{Touches Ctrl+Alt}
'~','#','{','[','|','`','\','^','@',']','}':
Begin
SimuleCtrlAlt;
DoKeybdEvent(VkKeyScan(aChar));
SimuleCtrlAlt(False);
End;
Else
{Touches minuscules}
DoKeybdEvent(VkKeyScan(aChar));
End;
end;
procedure TMyHotKey.SimuleCtrlAlt(const Down: Boolean = True);
begin
ToogleKey(VK_MENU, Down);
ToogleKey(VK_CONTROL, Down);
end;
procedure TMyHotKey.ToogleKey(const aKey: Byte; const Down: Boolean = True);
var KeyDown : Byte;
begin
if not Down then
KeyDown := 2
else
KeyDown := 0;
keybd_event(aKey, 0, KeyDown, 0);
end;
// pour l'utiliser :
for I := 1 to Length(SampCommand) do
SimuleKey(SampCommand[I]); |
Partager