Разобрался в вопросе и сам себе отвечаю. Может быть кому-нибудь понадобится. Посылаем нужному окну комбинацию Ctrl+А.
Объявляем функции SendMessage (или PostMessage, если SendMessage не работает), FindWindow, FindWindowEx, keybd_event, Sleep.
Определяем hwnd нужного окна по заголовку:
- Код: Выделить всё
id = FindWindow(vbNullString, "заголовок")
Определяем hwnd нужного дочернего окна по классу и/или названию:
- Код: Выделить всё
id = FindWindowEx(id, 0, "класс", "название")
Дочернее окно в данном случае - это элемент управления, в которое передаем комбинацию клавиш, например "Edit". Название дочернего окна узнаем с помощью спецсофта.
Эмулируем нажатие Ctrl:
- Код: Выделить всё
keybd_event VK_CONTROL, 0, 0, 0
Посылаем символ в окно:
- Код: Выделить всё
PostMessage id, WM_KEYDOWN, VK_A, 0
Небольшая задержка, без нее у меня не работает.
- Код: Выделить всё
Sleep 100
Отпускаем клавишу Ctrl:
- Код: Выделить всё
keybd_event VK_CONTROL, 0, &H2, 0