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

Вниз

keydown   Найти похожие ветки 

 
kex86 ©   (2002-12-02 14:14) [0]

Расскажите, пжлста, научно-популярно, как отлавливить все нажатия клавиш в системе консольной программой.


 
Song ©   (2002-12-02 14:16) [1]

SetWindowsHookEx()


 
kex86 ©   (2002-12-02 14:19) [2]

А еще более научно-популярно?
Какие параметры и что возвращает?


 
Song ©   (2002-12-02 14:20) [3]

Статью "Хуки. Аспекты реализации" смотри.


 
kex86 ©   (2002-12-02 14:30) [4]

Это где? адрес дайте, а то там много статей


 
Song ©   (2002-12-02 14:33) [5]

Вверху ссылочка "Поиск". Набираешь "хук", выбираешь поиск в статьях и ищешь. Ну что всем как детям всё объяснять надо??


 
kex86 ©   (2002-12-02 14:35) [6]

Дык я и есть деть


 
asmith   (2002-12-02 15:47) [7]

Использовать функции консольного ввода-вывода такие, как ReadConsoleInput. Вот небольшой пример:

{$APPTYPE CONSOLE}
program ConsoleInput;

uses
Windows;

var
hInput: THandle;
arrInputRecs: array[0..9] of TInputRecord;
dwCur, dwCount: DWORD;
cCur: Char;
coorCur: TCoord;
begin
hInput := GetStdHandle(STD_INPUT_HANDLE);
while True do
begin
ReadConsoleInput(hInput, arrInputRecs[0], 10, dwCount);
for dwCur := 0 to dwCount - 1 do
case arrInputRecs[dwCur].EventType of
KEY_EVENT: with arrInputRecs[dwCur].Event.KeyEvent do
begin
cCur := AsciiChar;
if cCur = "" then
if bKeyDown then
WriteLn("Unprintable key pressed.")
else
Writeln("Unprintable key released.")
else
if bKeyDown then
WriteLn("Pressed ",cCur," ",wRepeatCount," times.")
else
WriteLn("Released ", cCur, " key.");
end;

{*** Delphi has renamed MOUSE_EVENT to avoid a conflict ***}
{*** with a windows function mouse_event() ***}
_MOUSE_EVENT: with arrInputRecs[dwCur].Event.MouseEvent do
begin
coorCur := dwMousePosition;
if dwEventFlags = 0 then
WriteLn("Button Pressed at ",coorCur.X,",",coorCur.Y);
end;
end;
end;
end.



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

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

Наверх




Память: 0.48 MB
Время: 0.012 c
1-36251
Zergling
2002-12-02 08:06
2002.12.12
Разработка компонентов (связь между компонетами)


7-36446
Евген
2002-10-07 15:44
2002.12.12
Событие при закрытии дверцы CD-ROM


6-36324
sip
2002-10-16 08:13
2002.12.12
Как отправить email с вложением из прога на Delphi6, Delphi7


4-36490
kuzmich
2002-10-20 16:45
2002.12.12
Меню


3-36039
AlexGreG
2002-11-20 12:23
2002.12.12
... ODAC любит память ...