我如何写事件源的Windows日志事件

问题描述:

我正在尝试写一个Windows日志事件。我如何写事件源的Windows日志事件

我读到这answer,并试图使用它,但有同样的问题reported here "The description for Event ID 1 from source PLCHIDSrv cannot be found..."

我想this solution但不知道如何实现这种代码在Delphi

var data = new EventSourceCreationData("yourApp", "Application"); 
data.MessageResourceFile = pathToYourMessageFile; 
EventLog.CreateEventSource(data); 
+1

您可以使用Google查找大量匹配。例如:http://rosettacode.org/wiki/Write_to_Windows_event_log#Delphi http://texhex.blogspot.co.uk/2004/09/creating-event-message-file-for-event.html http:// www .kehm.de/henrik/blog/files/0246b791a5cc7befdf178875d4e318c8-2.html,当然你也可以阅读MSDN上的MS文档 – 2014-10-29 20:55:20

+1

这个问题的答案应该可以解决你的问题http://*.com/questions/10537267/delphi -windows-service-design - 具体来说,第5点有创建注册表项的代码。 – Graymatter 2014-10-29 21:48:27

你正在接受该错误是因为您没有将事件源添加到Windows注册表中。

检查MSDN Documentation

你可以使用默认的应用程序日志中没有添加事件源到注册表中。但是,除非您注册事件源并提供消息文件,否则事件查看器将无法将您的事件标识符代码映射到消息字符串。

相同的链接包含带有C++代码的示例,该示例可以很容易地转换为Delphi。

UPDATE

我刚刚发现这篇文章Writing an event logger with Delphi 2010显示出如何的事件源添加到注册表,并写入到事件日志。

+0

+1。这是德尔福主题应该收到的第一批接待。 Imo ... – MartynA 2014-10-29 22:32:01

+0

@Martyn:如果他们表现出努力去问问他们的问题,就像这张海报所做的那样。 – 2014-10-30 13:29:58