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

Прекращение регистрации исполняемых файлов похоже на их регистрацию. Вместо вызова исполняемого файла с ключом /REGSERVER выполните его вызов с ключом /UNREGSERVER:

regexe.exe  /UNREGSERVER

В листинге 7 показан пример кода, в котором прекращается регистрация исполняемого файла. Для этого в код листинга 6 были внесены некоторые дополнения.

Листинг 7

#include <stdio.h>

#include <string.h>

#include <afx.h>

#include <winreg.h>

int main(int argc, char *argv[ ], char *envp[ ])

{

// Код программы, выполняющий регистрацию

if (argc==2)

{

// Регистрация исполняемого файла

if (!strcmp(argv[l], "/REGSERVER"))

{

HKEY hkKey=NULL;

if (RegCreateKey( HKEY_LOCAL MACHINE, "SOFTWARE\\Widget Ware\\TestApp",

ShkKey)!=ERROR_SUCCESS)  return (1);

if (RegSetValue (hkKey». NULL, REG_SZ, "Foo", _tcslen ("Foo")

)!=ERROR_SUCCESS)

            { if (hkKey) RegCloseKey(hkKey) ;

               return (1);

            }

if (hkKey) RegCloseKey(hkKey);

return(0);

}

// Прекращение регистрации исполняемого файла

if (!strcmp(argv[l],"/UNREGSERVER"))

{

if (RegDeleteKey( HKEY_LOCAL MACHINE,

"SOFTWARE\\Widget Ware\\TestApp")!=ERROR_SUCCESS)  return (1);

return (0); }

}

// Обычный код программы

return (0); }

Журнал событий

Журнал событий предоставляет возможность службам и другим приложениям, не имеющим графического интерфейса пользователя (GUI), вывести информацию для пользователя. Обычно журнал используется для передачи системному администратору сообщений об ошибках в службах. Реально все сообщения заносятся в три различных журнала: Системный журнал, Журнал безопасности и Журнал приложений.

В Системный журнал попадают сообщения о системных процессах и службах. В Журнал безопасности заносятся сообщения, касающиеся безопасности системы. В Журнале приложений находятся сообщения, относящиеся к приложениям. Каждый журнал разбивает свои сообщения на группы, в соответствии с их источником. Сообщения, пришедшие из одного источника, разбиваются на категории. Каждое сообщение может относиться к одному из трех уровней «опасности» (severity): ошибка, предупреждение, информационное сообщение.

В состав NT Server входит приложение, предназначенное для просмотра содержимого журнала. Оно называется Просмотр событий и может быть найдено в разделе Администрирование. Просмотр событий организован в виде показанной ниже таблицы. Для просмотра подробной информации о событии в журнале необходимо дважды щелкнуть на нужной строке мышью.

Таблица 5.1.    Категории Просмотра событий

Строка

Сообщение

Опасность

Голубая, желтая или красная точка говорит об уровне опасности ошибки. Голубая точка - информационное сообщение, желтая — предупреждение и красная — ошибка

Дата

Дата занесения сообщения в Журнал событий

Время

Время занесения сообщения в Журнал событий

Источник

Имя приложения или службы, сгенерировавшей сообщение об ошибке

Категория

Категория ошибки

Событие

Идентификатор сообщения

Пользователи

Пользователь, под именем которого работает приложение. Если оно работает от имени пользователя system, в этой строке будет стоять unknown

Компьютер

Компьютер, от которого пришло сообщение об ошибке

Связь Журнала событий с Реестром

Для того чтобы приложение могло использовать API Windows для записи сообщений в Журнал, оно должно сначала зарегистрироваться в Журнале событий. Вы делаете это, создавая определенные записи в Реестре. Однако перед началом регистрации вам следует хорошо понять, как сообщения заносятся в Журнал.