![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Не найдено описание для события с кодом ( 1 ) в источнике ( ...) [D5, Win2k]
Карелин Артем © (2003-08-20 14:26:00)
Делов-то: из сервиса записываю в журнал логи событий.
LogMessage("Сервис запущен_",EVENTLOG_INFORMATION_TYPE,1,1);
Изменения кодов событий ни к чему не приводят. Как сделать так, чтобы в описании не было сообщений об ошибках?
Не найдено описание для события с кодом ( 1 ) в источнике ( Service1 ). Возможно, на локальном компьютере нет нужных данных в реестре или файлов DLL сообщений для отображения сообщений удаленного компьютера. В записи события содержится следующая информация: Сервис запущен_.
clickmaker (2003-08-21 14:15:00) [1]
Пишешь такую процедурку и запускаешь ее при инициализации сервиса.
procedure RegisterEventSrc;
const
SKeyName = "SYSTEM\CurrentControlSet\Services\EventLog\Application\Service1";
var
Reg: TRegistry;
begin
Reg := TRegistry.Create(KEY_WRITE);
Reg.RootKey := HKEY_LOCAL_MACHINE;
Reg.OpenKey(SKeyName, true);
Reg.WriteString("EventMessageFile", Application.ExeName);
Reg.WriteInteger("TypesSupported", 7);
Reg.CloseKey;
Reg.Free;
end;
А запись в лог делаешь следующим кодом
procedure LogMessage(Message: String; EventType: DWord;
Category: Word; ID: DWord);
var
P: Pointer;
begin
P := PChar(Message);
if hEventLog = 0 then
hEventLog := RegisterEventSource(nil, "Service1");
ReportEvent(hEventLog, EventType, Category, ID, nil, 1, 0, @P, nil);
end;
finalization
if hEventLog <> 0 then
DeregisterEventSource(hEventLog);
clickmaker (2003-08-21 14:11:00) [2]
Создаешь файлик messages.mc такого вида
SeverityNames=(Success=0x0:STATUS_SEVERITY_SUCCESS
Informational=0x1:STATUS_SEVERITY_INFORMATIONAL
Warning=0x2:STATUS_SEVERITY_WARNING
Error=0x3:STATUS_SEVERITY_ERROR
)
MessageId=0x0001
Severity=Informational
SymbolicName=MSG_SERVICE_RUNNING
Language=English
Сервис запущен.
.
messages.h такого вида
#define STATUS_SEVERITY_WARNING 0x2
#define STATUS_SEVERITY_SUCCESS 0x0
#define STATUS_SEVERITY_INFORMATIONAL 0x1
#define STATUS_SEVERITY_ERROR 0x3
#define MSG_SERVICE_RUNNING 0xC0000001L
И messages.rc
LANGUAGE 0x9,0x1
1 11 MSG00001.bin
Берешь MS Message Compiler mc.exe, он входит в Visual C++. И говоришь mc.exe -c messages.mc
Он должен сделать файлик MSG00001.bin. messages.rc включаешь в свой проект
Карелин Артем (2003-08-21 11:40:00) [3]
Да.
clickmaker (2003-08-20 17:49:00) [4]
Имеешь в виду, чтобы не писалось "Не найдено описание...", а только "Сервис запущен" ?