![]() |
Kategorie im Eventlog
Hallo zusammen,
ich habe mal nach dem Beispiel von Luckie versucht mittels ReportEvent Einträge im Windows-Eventlog zu machen. Das funktioniert auch ganz gut bis auf die Tatsache, dass meine Kategoriebeschreibung nicht angezeigt wird sondern nur eine Zahl. Meine Message-Datei ist prinzipiell identisch mit der aus der Demo:
Code:
Die Resource habe ich dann in das Programm mit einkompiliert und mittels FormatMessage in Kombination mit FORMAT_MESSAGE_FROM_HMODULE versucht die Strings testweise anzuzeigen. Sowohl die Kategorie als auch der Testeintrag lassen sich so problemlos anzeigen. Im Eventlog wird die Nachricht auch problemlos angezeigt, nur statt der Kategorie finde ich nur die entsprechende Zahl vor.
LanguageNames=(German=0x407:MSG00407)
MessageId=0x1 SymbolicName=MSG_DEMO_ENTRY Language=German Testeintrag von %1. . MessageId=0x1000 SymbolicName=CAT_1 Language=German Testkategorie 1 . Hat jemand eine Idee woran das liegen könnte? |
Re: Kategorie im Eventlog
Hallo,
hast Du entsprechende Einträge in der Registry?
Delphi-Quellcode:
Ansonsten: Hilft der dashier
// Messagefile registrieren
procedure TReplikator.ServiceBeforeInstall(Sender: TService); Var Reg : TRegistry; begin Reg := TRegistry.Create; Reg.RootKey := HKEY_LOCAL_MACHINE; Reg.OpenKey('system\CurrentControlSet\Services\EventLog\Application\' + Self.Name,True); Reg.WriteString('EventMessageFile',ParamStr(0)); Reg.WriteInteger('TypesSupported',7); Reg.CloseKey; Reg.OpenKey('system\CurrentControlSet\Services\Replikator\' + Self.Name,True); Reg.WriteString('Description','Repliziert die Daten der Vorortdatenbank in die Zentraldatenbank'); Reg.CloseKey; Reg.Free; end; // Messagefile aus Registrierung entfernen procedure TReplikator.ServiceAfterUninstall(Sender: TService); Var Reg : TRegistry; begin Reg := TRegistry.Create; Reg.RootKey := HKEY_LOCAL_MACHINE; Reg.DeleteKey('system\CurrentControlSet\Services\EventLog\Application\' + Self.Name); Reg.DeleteKey('system\CurrentControlSet\Services\Replikator\' + Self.Name); Reg.CloseKey; Reg.Free; end; ![]() |
Re: Kategorie im Eventlog
Leider funktioniert es immer noch nicht. Ich habe es mittlerweile auch mal mit einer extra DLL ausprobiert. Selbes Problem...
Hier mal meine Registry-Einträge für den Test:
Code:
Wie gesagt: Die Beschreibung wird korrekt angezeigt, bei der Kategorie taucht nur die Zahl (4096) auf.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\LogTestApp] "EventMessageFile"="C:\\Users\\Jan\\Desktop\\Logging\\Dll\\Project1.dll" "CategoryMessageFile"="C:\\Users\\Jan\\Desktop\\Logging\\Dll\\Project1.dll" "CategoryCount"=dword:00000001 "TypesSupported"=dword:00000007 |
Re: Kategorie im Eventlog
Hallo,
ich ahne da was, weiß aber nicht, ob ich richtig liege: Du hast
Code:
= eine Kategorie.
"CategoryCount"=dword:00000001
Du hast aber auch
Code:
Die MessageID ist 4096 (dez).
LanguageNames=(German=0x407:MSG00407)
MessageId=0x1 SymbolicName=MSG_DEMO_ENTRY Language=German Testeintrag von %1. . MessageId=0x1000 SymbolicName=CAT_1 Language=German Testkategorie 1 . Ändere bitte den
Code:
mal in
"CategoryCount"=dword:00000001
Code:
und schaue, ob sich dann was ändert.
"CategoryCount"=dword:00001000
Alternativ:
Code:
auf
"CategoryCount"=dword:00000001
Code:
ändern und
"CategoryCount"=dword:00000002
Code:
auf
MessageId=0x1000
Code:
Die MessageID's und CatecoryCount müssen (vermutlich) zusammenpassen.
MessageId=0x0002
|
Re: Kategorie im Eventlog
So... nun habe ich nochmal alle erdenklichen Möglichkeiten durchprobiert. Leider ohne Erfolg :(
Zitat:
|
Re: Kategorie im Eventlog
Mittlerweile habe ich mal eine VM mit XP gebastelt und dort getestet: Wenn ich 0x1000 als ID für die Kategorie nutze funktioniert es auch dort nicht, wenn ich aber 0x1 nutze wird hier die Kategorie (anders als bei meinem System, Vista 64Bit) ohne Probleme angezeigt.
Muss ich bei Vista noch etwas beachten? Kennt jemand das Problem? |
Re: Kategorie im Eventlog
*push*
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:32 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz