Добрый день !
Подскажите пожалуйста, как сгенерировать нажатие клавиши,
не нажимая её при этом на клавиатуре ?
Заранее благодарен
С уважением, Максим.
Генерация нажатия клавишь
Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду
- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
Послать определенному окну сообщение WM_KEYDOWN или WM_CHAR
(cм. SendMessage и WM_KEYDOWN/WM_CHAR в справке по Win32API)
Можно обойтись уровнем DelphiVCL и просто вызвать метод Perform.
Т.е. не задействуя средства ОС.
Например,
Edit1.Perform(WM_CHAR,255,0);
"нажимает" букву "я" в поле Edit1.
Вообще все зависит от ситуации: какие клавиши эмулировать (алфавитно-цифровые/функциональные/управляющие); в пределах своего приложения это делается или нет.
(cм. SendMessage и WM_KEYDOWN/WM_CHAR в справке по Win32API)
Можно обойтись уровнем DelphiVCL и просто вызвать метод Perform.
Т.е. не задействуя средства ОС.
Например,
Edit1.Perform(WM_CHAR,255,0);
"нажимает" букву "я" в поле Edit1.
Вообще все зависит от ситуации: какие клавиши эмулировать (алфавитно-цифровые/функциональные/управляющие); в пределах своего приложения это делается или нет.
Ну а можно совсем тупо и прямолинейно в виде:
Form1.KeyDown(параметры); // Или соответвенно другой обработчик
Но это если конечно у вас через станддартные обработчики всё идёт.
Form1.KeyDown(параметры); // Или соответвенно другой обработчик
Но это если конечно у вас через станддартные обработчики всё идёт.