Отвечает: PsySex
Здравствуйте, Севрюков Евгений Валериевич!
Существует комманда SendKeys, которая посылает нажатие клавиши активному окну. Чтоб сделать окно активным есть команда AppActivate IDproc.
Для этого нам нужно знать ID процесса. Также вместо ID процесса можно указать заголовок окна приложения в виде строки.
Если мы сами запускаем прогу, то
=================
IDproc = Shell("C:myproga.exe", vbNormalFocus)
AppActivate IDproc, True
SendKeys "z"
=================
Нажали клавишу Z :-)
--------- Bom Shankar!
Ответ отправил: PsySex (статус: Практикант)
Ответ отправлен: 19.11.2007, 20:16
Отвечает: HookEst
Здравствуйте, Севрюков Евгений Валериевич!
В принципе если после Shell сделать небольшую задержку, то и cmd окно получит фокус через AppActivate:
но фокус ввода такая неустойчивая вещь, что в приложении вариант с непосредственной отправкой сообщений WM_CHAR окну приложения, не обязательно активному. GetWinHandle - взял из MSDN. Запуск - Sub t
Успехов.
Приложение:
Ответ отправил: HookEst (статус: Студент)
Ответ отправлен: 21.11.2007, 07:22