Начинаем кодить, нам понадобиться: Компонент Timer с закладки System и компонент Label с закладки Standart. Выделяем Timer, создаем, обработчик событий OnTime и прописываем в нем следующий код: Code if getasynckeystate($1b)<>0 then Label1.Caption:='Вы нажали ESC' свойство Interval у компонента Timer меняем на 1, Вот что должно получиться: Code procedure TForm1.Timer1Timer(Sender: TObject); begin if getasynckeystate($1b)<>0 then Label1.Caption:='Вы нажали ESC' end; В данном примере мы перехватываем нажатие клавиши ESC во всем Windows и побарабану активна или нет наша программа. Используем мы здесь Api функцию getasynckeystate, в качестве параметра ей нужно указать виртуальный код клавиши, котрую хотим отлавливать. В нашем случае это Esc виртуальный код $1b. Все виртуальные коды клавиш приведены ниже: Code vk_lbutton = $01; vk_rbutton = $02; vk_cancel = $03; vk_mbutton = $04; vk_back = $08; vk_tab = $09; vk_clear = $0c; vk_return = $0d; vk_shift = $10; vk_control = $11; vk_menu = $12; vk_pause = $13; vk_capital = $14; vk_escape = $1b; vk_space = $20; vk_prior = $21; vk_next = $22; vk_end = $23; vk_home = $24; vk_left = $25; vk_up = $26; vk_right = $27; vk_down = $28; vk_select = $29; vk_print = $2a; vk_execute = $2b; vk_snapshot = $2c; vk_insert = $2d; vk_delete = $2e; vk_help = $2f; >> vk_a - vk_z такие же, как и их ascii-эквиваленты: 'a' - 'z' ($41 - $5A)<< >> vk_0 - vk_9 такие же, как и их ascii-эквиваленты: '0' - '9' ($30 - $39)} vk_numpad0 = $60; vk_numpad1 = $61; vk_numpad2 = $62; vk_numpad3 = $63; vk_numpad4 = $64; vk_numpad5 = $65; vk_numpad6 = $66; vk_numpad7 = $67; vk_numpad8 = $68; vk_numpad9 = $69; vk_multiply = $6a; vk_add = $6b; vk_separator = $6c; vk_subtract = $6d; vk_decimal = $6e; vk_divide = $6f; vk_f1 = $70; vk_f2 = $71; vk_f3 = $72; vk_f4 = $73; vk_f5 = $74; vk_f6 = $75; vk_f7 = $76; vk_f8 = $77; vk_f9 = $78; vk_f10 = $79; vk_f11 = $7a; vk_f12 = $7b; vk_f13 = $7c; vk_f14 = $7d; vk_f15 = $7e; vk_f16 = $7f; vk_f17 = $80; vk_f18 = $81; vk_f19 = $82; vk_f20 = $83; vk_f21 = $84; vk_f22 = $85; vk_f23 = $86; vk_f24 = $87; vk_numlock = $90; vk_scroll = $91;
|