Delphi world - емуляція натиснення клавіш 2

Два програміста в дупель п'яні з шинку виходять, один дpугому говорить:
- Hу що, вмикай автопілот.
- А у мене його немає.
- Hу тоді включай емулятоp автопілота.

Чи є в 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 і відправляє в нього рядок.