Операционная система Microsoft Windows 3.1 для программиста© Александр Фролов, Григорий ФроловТом 12, М.: Диалог-МИФИ, 1993, 255 стр. 1. Ресурсы
Мы уже говорили, что формат загрузочного модуля приложения Windows сложнее формата загрузочного модуля программы MS-DOS. Кроме выполняемого кода и констант в загрузочном модуле приложения Windows находятся дополнительные данные - ресурсы. Что такое ресурсы? Приложение Windows может хранить в виде ресурсов текстовые строки, пиктограммы, курсоры различной формы, произвольные матричные графические изображения, меню, диалоговые панели, произвольные массивы данных и т. д. Физически ресурсы находятся внутри exe-файла приложения. Они могут загружаться в оперативную память автоматически при запуске приложения или по запросу приложения (явному или неявному). Такой механизм обеспечивает экономное использование оперативной памяти, так как все редко используемые данные можно хранить на диске и загружать в память только при необходимости. Например, ваше приложение может иметь сложную систему диагностики ошибочных ситуаций, содержащую различные диалоговые панели, массивы сообщений об ошибках и т. п. Когда приложение работает без ошибок (что, очевидно, является нормальным явлением) ненужные диагностические ресурсы спокойно лежат на диске, не перегружая оперативную память. Но как только возникает ошибка и приложение вызывает функцию обработки ошибки, эти ресурсы будут автоматически загружены. Ресурсы можно редактировать без повторной трансляции программного проекта. Это означает, что вы сможете легко перевести все сообщения и тексты меню вашего (и не только вашего!) приложения на другой национальный язык, отредактировать графические изображения или любые другие ресурсы, даже не имея в своем распоряжении исходные тексты приложения. Для создания и редактирования ресурсов предназначены специальные приложения. Мы будем использовать приложение Resource Workshop, которое входит в состав системы разработки программного обеспечения Borland C++ for Windows версии 3.1. С помощью этого средства можно создавать новые ресурсы или редактировать уже имеющиеся. В частности, можно отредактировать ресурсы, расположенные внутри загрузочного модуля приложения Windows или внутри библиотеки динамической загрузки DLL. |