Форум: "WinAPI";
Текущий архив: 2005.09.18;
Скачать: [xml.tar.bz2];
Внизопределение последней нажатой клавишы Найти похожие ветки
← →
Валентин (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 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.09.18;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c