![]() |
![]() ![]() ![]() ![]() |
|
Эмуляция нажатия клавиши даже в неактивном окнеDelphi , ОС и Железо , Клавиши
Автор: Dimka Maslov
{ **** UBPFD *********** by delphibase.endimus.com ****
>> Эмуляция нажатия клавиши в любом окне, в т.ч. неактивном
Процедура эмулирует нажатие клавиши в любом окне путём посылки ему пары
сообщений WM_KEYDOWN и WM_KEYUP. Процедура принимает два параметра -
Handle окна и код клавиши (см. описание констант VK_xxxx).
Зависимости: Windows
Автор: Dimka Maslov, mainbox@endimus.ru, ICQ:148442121, Санкт-Петербург
Copyright: Dimka Maslov
Дата: 29 апреля 2002 г.
***************************************************** }
procedure EmulateKey(Wnd: HWND; VKey: Integer);
asm
push 0
push edx
push 0101H //WM_KEYUP
push eax
push 0
push edx
push 0100H //WM_KEYDOWN
push eax
call PostMessage
call PostMessage
end;
// Пример использования:
EmulateKey(Edit1.Handle, VK_RETURN);
Классический снIPPET на Delphi! Эта процедура эмулирует нажатие клавиши в любом окне, отправляя два сообщения Windows: Вот разбивка кода:
Пример использования в конце показывает, как использовать эту процедуру для эмулирования нажатия клавиши в контроле редактирования: Это эмулирует нажатие клавиши Enter в контроле редактирования с handle Обратите внимание, что это старый-старый снIPPET на Delphi от 2002 года, поэтому вам может потребоваться обновление его в соответствии с вашими конкретными требованиями и текущей версией Windows API. Процедура EmulateKey эмулирует нажатие клавиши в любом окне, включая неактивные, отправляя пары сообщений WM_KEYDOWN и WM_KEYUP. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||