Есть некая программа, от стороннего разработчика которой по роду своей работы приходится пользоваться, все отчеты в ней предусмотрены кроме одного, но все данные для отчета видны в визуальных формах. База данных находится удаленно, и я не имею пароля для прямого подключения к ней. Для получения данных из виндоуз окон использую стандартный набор VBA for Excel (потому как нет прав на установку VS) совместно с WinApi комплектом SendMassage и WM_GETTEXT. В общем, всё гладко и замечательно со всеми элементами окон за исключением одного, оно имеет класс «AfxWnd70d» и текст из него ни WM_GETTEXT ни GetWindowText выдернуть не получается. Если кто знает, подскажите что за зверь такой класс «AfxWnd70d», и какими методами можно выдернуть из него текст. PS: хендл этого окна с классом «AfxWnd70d» нахожу без проблем.
БульЁн, Пользовался ей и аналогами похожими, хендл который выдают эти программы, совпадает с тем, который я нахожу через FindWindowEx класс окна взял именно из информации выданной Spy ++. И со всеми (кроме AfxWnd70d) элементами окна этого достаточно, чтобы через SendMassage + WM_GETTEXT получить текст из нужных элементов. Но элемент с классом «AfxWnd70d» вызывает проблему, а именно SendMassage + WM_GETTEXT возвращает пустую строку, попробовал через GetWindowText и тоже на возврате пустая строка. Самое интересное, что лингво при наведении на этот элемент выдергивает текст из него и пытается перевести. Но видимо в лингво используются другой метод выдергивания текста из элементов окна.
попробовал GetDlgItemText не помогло :-( Подумал, что текст там вообще нарисован, чем ни будь вроде DrawText, но такой текст даже лингво выдернуть не может значит, в моем случае все-таки объект и наверняка есть способ выдернуть текст из этого объекта