Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.09.18;
Скачать: CL | DM;

Вниз

определение последней нажатой клавишы   Найти похожие ветки 

 
Валентин   (2005-07-25 12:19) [0]

Под хрюшой не подскажите как определить последнюю нажатую клавишу, типа аналога:
 asm
   in al, 60h
   mov Key, al
 end;

Спасибо.


 
kblc ©   (2005-07-25 12:39) [1]

Как я понимаю этот же код в ХР не работает?


 
Anatoly Podgoretsky ©   (2005-07-25 12:54) [2]

PeekMessage


 
Валентин   (2005-07-25 14:46) [3]

Я только начинаю изучать Delphi, подскажите plees как это всё-таки будет что бы в исходниках заменить ассемблерный код.

Пока только это смог нарисовать:

function GetLastKey(myWND: Integer): byte;
var
 myMSG: MSG;
begin
 PeekMessage(myMSG, myWND, 0, 0, PM_NOREMOVE);// или PM_REMOVE?
 result:= myMSG.wParam;
 DispatchMessage(myMsg);
 // Хотя я так понимаю в result должен быть скан код. чем перевести?
end;

Спасибо, и извините за ламерские вопросы.


 
alpet ©   (2005-07-26 09:14) [4]

Валентин   (25.07.05 14:46) [3]
Еще лучше PM_NOREMOVE or PM_QS_INPUT, дабы выбирать сообщения только от клавиатуры и мыши. Замечу, что функция PeekMessage действует в пределах вызывающего потока (точнее пока окно hWnd имеет фокус, сообщения от клавиатуры будут поступать в очередь потока). Если тебе нужно получать нажатия клавиш для всех процессов в десктопе - есть функции GetKeyState, GetAsyncKeyState, и наконец можно использовать ловушки.



Страницы: 1 вся ветка

Текущий архив: 2005.09.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.041 c
2-1123916363
Ксардас
2005-08-13 10:59
2005.09.18
Запарился совсем с РичЭдитом!


11-1107177249
hunn
2005-01-31 16:14
2005.09.18
Модальная форма на чистом KOL


14-1124472081
Ксардас
2005-08-19 21:21
2005.09.18
Как можно определить название и марку своеё звуковухи?


3-1123078921
angel_b
2005-08-03 18:22
2005.09.18
Что надо для выполнения обединения (SQL) с участием MEMO полей?


4-1122535985
Shopot
2005-07-28 11:33
2005.09.18
Как дописать данные в конец текстового файла?