Scrierea de mesaje în jurnalul de evenimente Windows pe Delfi
Aplicația poate înregistra mesaje în jurnalul utilizând următoarele funcții WinAPI. Descrierea detaliată a parametrilor acestor funcții este dată în documentația pentru API.
- RegisterEventSource - Deschide mânerul pentru a avea acces la jurnalele de pe computerul local sau la distanță.
- ReportEvent - înregistrarea De fapt mesajul.
Pentru a înregistra mesajele în revista într-un mod simplificat, pur și simplu face un RegisterEventSource apel cu numele mașinii (UNC), jurnalul pe care doriți pentru a posta un mesaj (zero pentru mașina locală), precum și numele evenimentului. numele evenimentului este, de obicei numele aplicației, dar poate fi ceva mai mult informativ. De îndată ce o sursă de eveniment este înregistrat, vă puteți conecta evenimente folosind ReportEvent cu mâner, care au revenit RegisterEventSource.
chei de registry
Creați următoarea cheie de registry:
HKEY_LOCAL_MACHINESYSTEM - CurrentControlSet - Servicii - Eventlog - Cerere -
Creați următoarele taste:
Exemplu de cod pentru a crea intrările de registry necesare:
- Scrierea sursa fișierului tabel de mesaje (fișier .mc).
- Compilarea fișier .mc utilizând un mesaj compilator Microsoft.
- Conectarea pentru a obține informații la cererea noastră Delphi.
Există mai multe exemple privind scrierea .mc fișiere în Windows SDK și pe diferite site-uri web, inclusiv MSDN, deși documentația nu este destul de simplu, astfel încât sunt minime descrierea suficientă pentru a crea fișierul tabelului de mesaje:
Ca rezultat, vom obține trei fișiere: exmess.rc, bin00001.msg și exmess.h. emess.h poate fi folosit ca un fișier antet pentru a accesa resursele pe numele lor simbolice, în cazul în care sunt enumerate (în acest caz, nu este prezent). fișier bin este o rapoarte de resurse binare compilate. rc este un fișier de resurse pentru Windows. Acesta poate fi compilat în fișierul Delphi .RES folosind brcc32.exe - compilator de resurse Delphi sau pur și simplu adăugate la proiect utilizând managerul de proiect, și apoi Delphi se compilează în mod automat atunci când compilați proiectul (build).