Вопрос:
Есть ли в Delphi эквивалент функции SendKeys Visual Basic'а?
Ответ:
Ниже приведена процедура,
позволяющаю отправлять нажатия в любой элемент управления (window control),
способный принимать ввод с клавиатуры. Вы можете использовать эту технику чтобы
включать клавиши NumLock, CapsLock и ScrollLock под Windows NT. Та же техника
работает и под Windows 95 для CapsLock и ScrollLock но не работает для клавиши
NumLock.
Обратите внимание, что приведены четыре поцедуры: SimulateKeyDown() – эмулировать
нажатие клавиши (без отпускания) SimulateKeyUp() – эмулировать отпускание клавиши
SimulateKeystroke() – эмулировать удар по клавише (нажатие и отпускание) и SendKeys(),
позволяющие Вам гибко контролировать посылаемые сообщения клавиатуры.
SimulateKeyDown(), SimulateKeyUp() и SimulateKeystroke() получают коды виртуальных
клавиш (virtural key) (вроде VK_F1). Процедура SimulateKeystroke() получает
дополнительный параметр, полезный при эмуляции нажатия PrintScreen. Когда этот
параметр равен нулю весь экран будет скопирован в буфер обмена (clipboard).
Если дополнительный параметр равен 1 будет скопированно только активное окно.
Четыре метода “button click” демонстрируют использование: ButtonClick1 – включает
capslock ButtonClick2 – перехватывает весь экран в буфер обмена (clipboard).
ButtonClick3 – перехватывает активное окно в буфер обмена (clipboard). ButtonClick4
- устанавливает фокус в Edit и отправляет в него строку. Прочитать остальную часть записи »