Thema: Delphi Einträge ins Eventlog

Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Einträge ins Eventlog

  Alt 21. Jul 2006, 14:58
So, habe es hinbekommen: Sie muss so aussehen:
Code:
LanguageNames=(German=0x407:MSG00407)

MessageId=0x1
SymbolicName=CAT_1
Language=German
Kategorie 1
.

MessageId=0x100
SymbolicName=MSG_DEMO_ENTRY
Language=German
Testeintrag von %1.
.
Aber leider funktioniert es immer noch nicht. Meine Registryeinträge sehen so aus:
Code:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\Demo]
"CategoryCount"=dword:00000001
"TypesSupported"=dword:00000000
"EventMessageFile"="E:\\Delphi\\Sourcecodes\\In_Bearbeitung\\MpuWriteEventLog\\Project1.exe"
"CategoryMessageFile"="E:\\Delphi\\Sourcecodes\\In_Bearbeitung\\MpuWriteEventLog\\Project1.exe"
Und mein dazugehöriger Programmcode:
Delphi-Quellcode:
{$R 'EvtLogMsg.res'}

var
  Form1 : TForm1;

implementation

{$R *.dfm}

const
  cSourceName : string = 'Application'; // wir wollen in das EventLog "Anwendungen" schreiben

procedure LogMessage(typ, kategorienr: word; nachrichtnr: Cardinal; parameter1: string);
var
  log : THandle;
  pmsgArray : array[0..0] of PChar;
begin
  log := OpenEventLog(nil, pchar(cSourceName));
  if log > 0 then
  begin
    try
      pmsgArray[0] := PChar(parameter1);
      if not ReportEvent(log, typ, kategorienr, nachrichtnr, nil, 1, 0, @pmsgArray, nil) then
        ShowMessage(SysErrorMessage(GetLastError));
    finally
      CloseEventLog(log);
    end;
  end
  else
    ShowMessage(SysErrorMessage(GetLastError));
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  LogMessage(EVENTLOG_INFORMATION_TYPE, $1, $100, 'Hallo');
end;
Ich bin etwas ratlos.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat