Работа с Реестром ОС WindowsNT/2000/XP, страница 11

Листинг 9

//

// 32-разрядные значения размещаются следующим образом:

//

//3322222222221111111111

//10987654321098765432109876543210

// |Sev|C| R |   Средство     |         Код                 | // +--+ - + - +----------+------------------------------+

//

// где

Sev — это код опасности

00 — Успешное завершение 01 — Информация

10 — Предупреждение

11 — Ошибка

С — это флаг кода клиента (Customer) R — зарезервированный бит Средство - код средства Код — код статуса средства

//

//

//

//

//

//

//

//

//

//

//

//

//

//

//

//

//

// Определение кодов средства

// Messageld: EVCATJTESTING

//

// Определение кодов опасности

//

//

// MessageText:

//

// Тестирование

//

fdefine EVCAT_TESTING    OxOOOOOOOlL

//

// Messageld: EVMSG_MEMORY1

//

// MessageText:

//

// Пробуем записать в Реестр

//

fdefine EVMSG_MEMORY1     Ox00000064L

//

// Messageld: EVMSG_MEMORY2

//

// MessageText:

//

// Пробуем записать в Реестр информацию с параметром %1

//

#define EVMSG MEMORY2 OxC0000065L

Компилирование файла сообщений

После того как вы написали файл сообщений с правильным синтаксисом, его необходимо скомпилировать. Это очень легко выполнить, добавив инструмент Message Compiler в меню Tools. Необходимо выполнить следующие шаги:

1.  Откройте Microsoft Developer Studio.

2.  Выберите Tools > Customize.

3.  Откройте вкладку Tools.

4.  Щелкните на кнопке Add. Появится окно диалога Add Tool.

5.  Введите с клавиатуры c:\msdev\bin\mc.exe. Это местоположение по умолчанию компилятора сообщений mc.exe. Если вы установили пакет Microsoft Developer Studio в другое место, для поиска компилятора mc.exe следует использовать функцию просмотра.

6.  Измените текст меню с тс на Message Compiler.

7.  Раскройте список Arguments.

8.  Выберите File Name.

9.  Раскройте список Initial Directory и выберите File Directory.

10.  Установите флажок Redirect to Output Window.

11.  Щелкните на кнопке Close.

Конфигурирование меню Tools окончено. Теперь оно содержит инструмент Message Compiler, с помощью которого можно откомпилировать сообщения. Раскройте меню Tools и вы увидите, что в нем появилась команда Message Compiler.

Для компилирования Файла сообщений необходимо выполнить следующие действия:

1.  Откройте файл сообщений и убедитесь, что он находится в активном окне.

2.  Выберите Tools > Message Compiler. Файл сообщений должен быть откомпилирован. Результаты появятся в окне вывода информации Microsoft Developer Studio.

3.  Сохраните файл сообщений из листинга 5.7 с именем EvntLog.mc и откомпилируйте его. Компилятор сформирует заголовочный файл и файл с именем MSG00001.bin, который используется компилятором ресурсов. Кроме того, создается файл с расширением .гс, который также используется компилятором ресурсов.

Добавление файла сообщений в проект

После компиляции файла сообщений мы добавляем его в проект, чтобы он был скомпилирован вместе с другими ресурсами приложения. Выполните следующие действия:

1. Выберите Insert--> Files into Project.

2. Дважды щелкните на файле EvntLog.rc.

Теперь файл ресурсов вместе с файлом сообщений будет добавлен к проекту.

Модификация Реестра

После компиляции файла сообщений и присоединения его к проекту мы напишем код, который создает запись в Реестре для Журнала событий:

1.  С помощью Microsoft Developer Studio создайте пустой текстовый файл.

2. Наберите в нем код, приведенный в листинге 5.9, и сохраните файл как EvtLog.cpp.

3. Добавьте файл к проекту, выбрав в меню Insert >• Files into Project и дважды щелкнув на файле EvtLog.cpp.

4.  Создайте файл определений для экспорта функций Реестра. Пример такого определения показан в листинге 5.15.

5.  Сохраните файл определений как EvtLog.def.

6.  После этого присоедините файл EvtLog.def к проекту, выбрав Insert > Files into Project и дважды щелкнув на EvtLog.def.