Показать сообщение отдельно
  #1  
Старый 23.05.2015, 00:07
Anton93 Anton93 вне форума
Прохожий
 
Регистрация: 20.02.2015
Сообщения: 27
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Различить вид регистра

Есть программа консольная, так сказать записывает нажатия клавиш. Проблема в том что все символы не зависимо от того как были введены, заглавные или нет пишутся как заглавные (верхнего региста). Как отличить и сделать чтобы выводились так как они вводятся.

Код:
 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.
Ответить с цитированием