Здраствуйте! Есть такая WinAPI функция GetAsyncKeyState, она позволяет узнать нажата ли клавиша с кодом который в ее аргументе.. Да вообщем наверное вы знаете, её часто используют в простых кейлоггерах Я пытаюсь сделать такой кейлоггер, вроде все получается, но вот только при любой раскладке клавиатуры пишутся только латинские буквы.. Как всетаки получать русские буквы при русской раскладке? Мне знакомый говорил про функцию ToAscii, но у меня с ней ничего не выходит =_= Если не сложно, то можно и пример на Си. Спасибо.
function get_key(vkey: Word): string; var keystate: TKeyboardState; retcode: Integer; begin Win32Check(GetKeyboardState(keystate)); SetLength(Result, 2); retcode := ToAscii(vkey, MapVirtualKey(vkey, 0), keystate, @Result[1], 0); case retcode of 0: Result := ''; 1: SetLength(Result, 1); 2: ; else Result := ''; end; end; procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin ShowMessage(Get_Key(Key)); end;