Меню сайта
Категории раздела
PHP [0]
Видео уроки [0]
DELPHI [45]
BASIC [0]
HTML [0]
JAVA [0]
C++ / C# [0]
Радио
ЧАТ
200
Облако тегов
Облако фото
Форум
  • композитная арматура (0)
  • Справедливо ли это???? (1)
  • Недвижимость в Тюмени (1)
  • Качество услуг и обслуживания (2)
  • строительный эксперт (0)
  • гид по Греции (0)
  • винные туры по Италии (0)
  • деревянные лестницы (0)
  • гид по Италии (0)
  • Разные поздравления (1)
  • Главная » Статьи » Программисту » DELPHI

    Отлавливаем нажатие калавиш клавиатуры.
    Уроки програмирования на языке Delphi.

    В этом коротком уроке я покажу вам, как перехватывать нажатия кнопок клавиатуры. Пригодиться он для написания простенького клавиатурного шпиона, который бы отлавливал нажатия клавиш и вёл лог. Можно написать просто небольшой прикол типа если пользователь нажимает клавишу "Ф" то на экране появляется "И". Короче я думаю фантазия у вас работает нормально поэтому применение этому коду вы найдете.

    Начинаем кодить, нам понадобиться: Компонент Timer с закладки System и компонент Label с закладки Standart. Выделяем Timer, создаем, обработчик событий OnTime и прописываем в нем следующий код:

    if getasynckeystate($1b)<>0 then
    Label1.Caption:='Вы нажали ESC'

    Вот что должно получиться:

    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
    if getasynckeystate($1b)<>0 then
    Label1.Caption:='Вы нажали ESC'
    end;

    В данном примере мы перехватываем нажатие клавиши ESC во всем Windows и побарабану активна или нет наша программа. Используем мы здесь Api функцию getasynckeystate, в качестве параметра ей нужно указать виртуальный код клавиши, котрую хотим отлавливать. В нашем случае это Esc виртуальный код $1b. Все виртуальные коды клавиш приведены ниже:

    Да чуть не забыл, свойство Interval у компонента Timer меняем на 1

    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;

    До встречи www.delphiexpert.ru
    Категория: DELPHI | Добавил: SeM (09.04.2011)
    Просмотров: 839 | Рейтинг: 0.0/0
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Поиск по сайту
    Новый Год
    Опрос
    Оцените мой сайт


    Всего ответов: 19
    Всего голосовало: 19
    Обсудить на форуме
    Друзья сайта
    измерьте скорость интернета Яндекс.Метрика
    Проверить тИЦ и PR
    Статистика
    Погода
    Яндекс.Погода
    Коменнтарии

    Извиняюсь, заработал. Спасибо за урок biggrin

    Компонент не работает

    Давайте помогу разобраться ? вы хотите что бы когда выбиралась станция сразу начинала проигрывать? скиньте исходник или как лучше связаться с вами?

    у меня все работает!

    Нифига не робит...
    Кто знает как сделать чтобы на жесткий жертвы сохранял..
    ISQ 606017777

    FSDGHDFJHRG


    Отзывы Фото
    6 микр. Красивое место....

    Ершов ))))

    Старый музей но щас его перенесли...

    Фотография под горы smile

    Красивое фото!!! smile

    Copyright MyCorp © 2024