Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   GetAsyncKeyState - запись кириллицы (https://forum.antichat.xyz/showthread.php?t=84974)

Kissa2k 15.09.2008 22:29

GetAsyncKeyState - запись кириллицы
 
Здраствуйте! Есть такая WinAPI функция GetAsyncKeyState, она позволяет узнать нажата ли клавиша с кодом который в ее аргументе.. Да вообщем наверное вы знаете, её часто используют в простых кейлоггерах ;)
Я пытаюсь сделать такой кейлоггер, вроде все получается, но вот только при любой раскладке клавиатуры пишутся только латинские буквы.. Как всетаки получать русские буквы при русской раскладке? Мне знакомый говорил про функцию ToAscii, но у меня с ней ничего не выходит =_= Если не сложно, то можно и пример на Си.
Спасибо.

Zabuldon 21.09.2008 02:09

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;


Время: 09:41