1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.

Не работает WM_GETTEXT с классом AfxWnd70d

Тема в разделе "Программирование", создана пользователем RedFraer, 21.05.11.

  1. RedFraer

    RedFraer Активный участник

    1.420
    5
    Есть некая программа, от стороннего разработчика которой по роду своей работы приходится пользоваться, все отчеты в ней предусмотрены кроме одного, но все данные для отчета видны в визуальных формах. База данных находится удаленно, и я не имею пароля для прямого подключения к ней. Для получения данных из виндоуз окон использую стандартный набор VBA for Excel (потому как нет прав на установку VS) совместно с WinApi комплектом SendMassage и WM_GETTEXT. В общем, всё гладко и замечательно со всеми элементами окон за исключением одного, оно имеет класс «AfxWnd70d» и текст из него ни WM_GETTEXT ни GetWindowText выдернуть не получается. Если кто знает, подскажите что за зверь такой класс «AfxWnd70d», и какими методами можно выдернуть из него текст. PS: хендл этого окна с классом «AfxWnd70d» нахожу без проблем.
     
  2. БульЁн

    БульЁн Активный участник

    1.606
    79
    Попробуй дня начала тузлу Spy ++
     
  3. RedFraer

    RedFraer Активный участник

    1.420
    5
    БульЁн, Пользовался ей и аналогами похожими, хендл который выдают эти программы, совпадает с тем, который я нахожу через FindWindowEx класс окна взял именно из информации выданной Spy ++. И со всеми (кроме AfxWnd70d) элементами окна этого достаточно, чтобы через SendMassage + WM_GETTEXT получить текст из нужных элементов. Но элемент с классом «AfxWnd70d» вызывает проблему, а именно SendMassage + WM_GETTEXT возвращает пустую строку, попробовал через GetWindowText и тоже на возврате пустая строка. Самое интересное, что лингво при наведении на этот элемент выдергивает текст из него и пытается перевести. Но видимо в лингво используются другой метод выдергивания текста из элементов окна.
     
  4. sp_r00t

    sp_r00t Активный участник

    25.133
    38
    А если попробовать GetDlgItemText?
    Вообще, честно говоря, все это странно.
     
  5. RedFraer

    RedFraer Активный участник

    1.420
    5
    sp_r00t, спасибо за совет, попробую на работе, отпишусь что получилось
     
  6. RedFraer

    RedFraer Активный участник

    1.420
    5
    попробовал GetDlgItemText не помогло :-(
    Подумал, что текст там вообще нарисован, чем ни будь вроде DrawText, но такой текст даже лингво выдернуть не может значит, в моем случае все-таки объект и наверняка есть способ выдернуть текст из этого объекта
     
  7. RedFraer

    RedFraer Активный участник

    1.420
    5
    Удаленно из-за ошибочной публикации