Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как получить ASKII код нажатой клавиши ? [D6, Win95/98, WinME, NT4, Win2k, WinXP]


fag2000@ok.ru ©   (2002-03-13 14:02:00) 

Привет всем!
Как получить ASKII код нажатой клавиши при обработке сообщения WM_KEYDOWN?
Заранее благодарен.


fag2000@ok.ru   (2002-03-13 17:32:00) [1]

А если это в Hooke далается для чужого приложения?


troits   (2002-03-13 14:57:00) [2]

У меня получилось вот так.

procedure TForm1.WMKeyDown(var Message: TWMKeyDown);
var
ScanCode: Cardinal;
KeyBoardState: TKeyBoardState;
Buf: array[0..2] of char;
begin
ZeroMemory(@Buf, 3);
GetKeyboardState(KeyBoardState);
ScanCode := MapVirtualKey(Message.CharCode, 0);

if ToAscii(Message.CharCode, ScanCode, KeyBoardState, Buf, 0) > 0 then
Label1.Caption := string(Buf[0]);
end;


troits   (2002-03-13 14:07:00) [3]

Посмотри help по ф-ции ToAscii


Наверх

Титульная страница Поиск, карта сайта Написать письмо