[code language=”delphi”]
procedure TForm1.Button1Click(Sender: TObject);
var
KeyState : Word;
S : String;
begin
KeyState := GetKeyState(VK_SCROLL);
S := ‘Клавиша: VK_SCROLL. Состояние:’;
if KeyState and $8000 = $8000 then
S := s+’down’
else
S := s+’up’;
if KeyState and 1 = 1 then
S := S + ‘toggle on’
else
S := S + ‘toggle off’
;
ShowMessage( S );
end;
[/code]
Tag: keyboard
Delphi keyboard
[code language=”delphi”]
function GetRealChar(AKey: Word): Char;
var
Layout: HKL;
KeyboardState: TKeyboardState;
RealCode: AnsiString;
ScanCode: Integer;
s: string;
begin
Layout := GetKeyboardLayout(GetCurrentThreadID);
SetLength(RealCode, 1);
FillChar(RealCode[1], Length(RealCode), 0);
FillChar(KeyboardState[0], SizeOf(KeyboardState), 0);
KeyboardState[AKey] := 0;
ScanCode := (AKey shr 16) and $FF;
ToAsciiEx(AKey, ScanCode, KeyboardState, PChar(RealCode), 0, Layout);
s := RealCode;
Result := s[1];
end;
[/code]