Получить текст в диалоговом окне - PullRequest
0 голосов
/ 02 мая 2010

Какую функцию Windows API можно использовать для получения текста в диалоге? Например, если у меня был дескриптор диалогового окна сообщения об ошибке, как я могу получить отображаемое сообщение об ошибке?

Ответы [ 2 ]

1 голос
/ 02 мая 2010

Если я правильно понимаю ваш вопрос, ваша проблема очень проста. Откройте Spy ++ из меню Visual Studio Инструменты . Затем нажмите Ctrl + F , чтобы получить диалоговое окно для поиска окон. Перетащите «Инструмент поиска» на элемент управления внутри диалогового окна, из которого вы хотите прочитать текст; посмотрите свойства окна, поле "Control ID" это то что вам нужно.

Если у вас есть дескриптор диалогового окна (HWND hDlg), вы должны использовать функцию GetDlgItemText (см. http://msdn.microsoft.com/en-us/library/ms645489(VS.85).aspx)

UINT GetDlgItemText(HWND hDlg,
    int nIDDlgItem,
    LPTSTR lpString,
    int nMaxCount
);

чтобы прочитать текст. В качестве параметра nIDDlgItem необходимо указать идентификатор элемента управления. Это значение, которое вы нашли с помощью Spy ++.

0 голосов
/ 02 мая 2010

Диалоговые окна на самом деле не содержат текста - они содержат другие элементы управления, которые содержат текст. Вы должны перечислить или иначе найти соответствующее дочернее окно диалогового окна и получить его текст с помощью GetWindowText .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...