singlepost

Вопрос по работе с окнами чужих приложений << На главную или назад  

Суть задачи: есть большая прога написанная на фокспро, необходимо написать для нее обучающую прогу, которая работает в интерактивном режиме, т.е подсказывает/показывает юзеру правильные действия.
Хотел решить эту задачу с помощью хуков. т.е прога сначала в режиме обучения запоминает последовательность элементов по которым тыкает юзер. Потом, в режиме тестирования, перехватывает действия юзера, анализирует их, сопоставляя с ранее сохраненными, и разрешает/запрещает эти действия или вываливает какое-либо предупреждение. Все вроде логично

Теперь суть проблемы: не могу получить описание контролов (название класса и название окна). Точнее сказать получаю, но какую-то херню.
На форме есть дофига всяких элементов от кнопок до комбобоксов, перебирая их через EnumChildWindow, определяю их класс и название. получаю что-то типа:

HWND: 4392700ClassName: AfxOleControl42WindowText:
HWND: 1836988ClassName: AfxWnd42WindowText:
HWND: 3475336ClassName: ImageList20WndClassWindowText:
HWND: 1312692ClassName: ATL:045B16E8WindowText:
….
Все названия пустые, хотя такого быть не должно. Хэндлы тоже какие-то левые, даже после отсылки им WM_CLOSE, элементы на форме так же прекрасно себя чувствуют и даже правильно работают, хотя хэндлы при этом убиваютсяо_ОПривык что в окнах чужих прог можно лазить как в своих :) , а тут такое..

Как это понимать?? А главное как это обойти?
Если это особенность фокспро и это нельзя обойти, то натолкните хотя бы на идейку как можно еще реализовать поставленную задачу.

Пишу на С++ билдере 2009.

С уважением

3 ответов в теме “Вопрос по работе с окнами чужих приложений”

  1. 3
    Мопедий Дрынов ответил:

    Попробовал сегодня IAccessible – зачетная штука, то что надо :)
    Леонид maxleo Максимов +10

    DemoShield гляну на досуге для общего развития)

  2. 2
    Михаил Бураш ответил:

    Есть очень удобная программулька – DemoShield, как раз для демонстрации софта сделана.

  3. 1
    Леонид Максимов ответил:

    IAccessible

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.