2009-09-12 2 views
1

Это может быть кардинальное программирование греха, но какой самый простой и быстрый способ через исполняемый файл или пакетный файл, чтобы придать фокус окну X и нажать клавишу Y? Это не будет использоваться повторно, и при необходимости X и Y могут быть жестко закодированы.Эмуляция нажатия клавиши в другом окне

редактировать: на машине Windows,

+0

На какой платформе мы говорим? – Amber

ответ

4

Вы можете попробовать AutoHotkey или использовать win32 API как предложенный MusiGenesis.

+0

AutoHotKey кажется самым быстрым и самым грязным решением здесь. Не нужно изобретать велосипед. Что-то вроде: IfWinExist Программа-X { WinActivate } еще { Run Program-X WinWait Программа-X WinActivate } Отправить {Y} – Derek

2

Используйте Win32 API вызовы FindWindowEx и SendMessage (или SendNotifyMessage если вы хотите контролировать, чтобы вернуться к приложению немедленно, не дожидаясь применения принимающем для обработки сообщение).

Предполагая, что это Windows, конечно.

Это не очень большой грех, между прочим. Есть много больше зла, то, что программа может сделать, чем отправка нажатий клавиш в другие приложения (например, случайным образом удаление файлов, отправки по электронной почте порно к вашей бабушке и т.д.).