Freigeben über


Как мне получить заголовок диалога из его ресурсов?

Клиент прислал следующий вопрос:

Мы разрабатываем автоматизированные тесты для нашего приложения. Помимо всего прочего, в приложении есть вкладки для отображения различных свойств. Это означает, что наименование вкладки хранится в ресурсах в виде заголовка диалогового элемента. Поскольку мы хотим, чтобы наши автоматизированные тесты работали для всех локализованных версий нашего приложения, мы не можем жестко задавать эти заголовки вкладок в тестах. Я не смог найти какой-либо информации о том, как можно программно извлечь заголовок диалога из его ресурса. Буду рад любым наводкам.

Я ответил списком наводок:

Клиент поблагодарил за наводки, а затем спросил:

Тогда получается, что единственным способом решения этой задачи является загрузка данных ресурса диалога, их разбор и поиск той строки, которая мне нужна? Это можно сделать даже при помощи языка C#?

Ну, это зависит от того, что вы понимаете под «единственным способом».
В конечном счете, кому-то придется загрузить данные ресурса диалога и разобрать их, потому что вы же сами так и сказали: «Я хочу получить заголовок диалога из его ресурсов». Что может быть альтернативой? Экстрасенсорные способности?

В Win32 нет какой-либо библиотеки для разбора ресурсов шаблона диалога. Если вы не хотите делать этот разбор, тогда, возможно, вы сможете найти кого-нибудь, кто займется этим. И, если вам повезет, этот человек может даже предоставит интерфейс для языка C# к своей библиотеке.