Программирование на Delphi - обмен опытом / Эмуляция нажатия клавиши

© Зайцев Олег 1998-2004
Лучшая портативная техника. Плееры Камеры Телефоны Компьютеры
Покупателям, пришедшим на www.porta.ru по этой ссылке - дополнительная скидка 1%
Железо | Система | WEB | Компоненты | Графика | Ссылки | Мультимедиа | Сети | Прочее | Реестр | Литература

Статистика

Эмуляция нажатия клавиши

Рекомендую:
Главная страница \ Железо \ Работа с клавиатурой \ Эмуляция нажатия клавиши

  • Эмуляция нажатия клавиши

    Эмуляция нажатия клавиши

    Эмуляция нажатия клавиши при помощи Message. * * Задать вопрос Наверх
    Внутри приложения это выполняется достаточно просто с помощью вызова функции API SendMessage() или метода Perform того объекта (или формы), кому посылается сообщение о нажатой клавише).
    Пример
    Memo1.Perform(WM_CHAR, Ord('A'), 0);
     или
    SendMessage(Memo1.Handle, WM_CHAR, Ord('A'), 0);
    
    приведет к печати символа "A" в объекте Memo1.
    При помощи SendMessage можно эмулировать клавиатурный ввод окна других приложений

    Эмуляция нажатия клавиши при помощи API * * Задать вопрос Наверх
    В API существует интересная функция keybd_event, которая позволяет эмулировать нажатие любой клавиши на клавиатуре. Параметры вызова:
    procedure keybd_event(bVk: Byte; bScan: Byte; dwFlags, dwExtraInfo: DWORD);
    bVk - Виртуальный код клавиши
    bScan - аппаратный скан-код
    dwFlags - флаги управления. Допустимы знаначения:

    dwExtraInfo - расширенная информация - 32-битный набор флагов - расшифровку см. в описании перехватчика клавиатуры.


    © Зайцев Олег, "Программирование на Delphi - обмен опытом" 1999-2004. При использовании любых материалов данного сайта необходимо указывать источник информации. Дата обновления: 22.11.2004. Сайт размещен на хостинге AGAVA - Хостинг от AGAVA.ru