Писането на съобщения в дневника прозорци събитие в Делфи

Заявлението може да записва съобщения в дневника, като използвате следните функции WinAPI. Подробно описание на параметрите на тези функции е дадено в документацията за API.

  • RegisterEventSource - Отваря дръжката, за да влезете в тях на местно или дистанционно машината.
  • ReportEvent - Всъщност записване на съобщението.

За записване на съобщения в списанието по опростен начин, просто направи RegisterEventSource разговор с името на машината (UNC), дневника, който искате да публикувате съобщение (нула за локалната машина), а името на събитието. име за събитие обикновено е името на приложението, но тя може да бъде нещо по-информативно. Веднага след като източник на събитие е регистриран, можете да влезете събития, използващи ReportEvent с дръжка, които се завърнаха RegisterEventSource.

ключове в регистъра

Създаване на следния ключ на системния регистър:

HKEY_LOCAL_MACHINESYSTEM - CurrentControlSet - Услуги - EventLog - Жалба -

Създаване на следните клавиши:

Примерен код, за да се създадат необходимите записи в системния регистър:

  • Писане на източника на файла с маса съобщение (.mc файл).
  • Съставяне .mc ​​файл с помощта на Microsoft съобщение компилатор.
  • Свързване, за да получите информация за нашата Delphi приложение.

Има много примери за това писмено .mc файлове в Windows SDK и по различни сайтове, включително и MSDN, макар и документация не е достатъчно проста, за да са на минималната достатъчна описанието, за да създадете файл с маса съобщение:

В резултат на това, ние получаваме три файлове: exmess.rc, bin00001.msg и exmess.h. emess.h може да се използва като заглавния файл за достъп до ресурсите на техните символични имена, ако са изброени (в този случай не е налице). бин файл е компилиран двоичен доклади ресурси. RC е ресурс файл на Windows. Тя може да бъде компилиран в Делфи .res файл с помощта на brcc32.exe - Delphi компилатор ресурс или просто добавя към проекта с помощта на ръководителя на проекта, а след това Delphi автоматично го събират, когато компилирате проекта (изграждане).