Leo*_*ado 3 c++ event-log event-viewer windows-10
我想使用登录我的C++应用程序.但是,我想使用Windows(10)事件查看器而不是文本文件.我发现了一些奇怪的调用,我甚至不知道参数的含义--ReportEvent,OpenEventLog和其他一些事件记录功能.由于我的应用程序存在一些限制,我也无法使用托管代码.
我也试过在这个链接上使用代码,但是我得到编译错误(命名空间'系统'未定义 - 似乎有些包含文件丢失了......).
我发现没有可用的示例代码.
如果可能的话,我将非常感谢示例代码 - 只需从本地应用程序进行简单的日志记录,使用非托管C++构建.有人可以帮忙吗?
您的链接无法编译,因为它是托管C++(请注意使用gcnew)
如果你想写的只是字符串就很容易,你只需要RegisterEventSource和ReportEvent.
这大约是这样的:
const char* custom_log_name = "MyLogName";
// create registry keys for ACLing described on MSDN: http://msdn2.microsoft.com/en-us/library/aa363648.aspx
HANDLE event_log = RegisterEventSource(NULL, custom_log_name);
const char* message = "I'm in an event log";
ReportEvent(event_log, EVENTLOG_SUCCESS, 0, 0, NULL, 1, 0, &message, NULL);
Run Code Online (Sandbox Code Playgroud)
这只允许记录字符串.更复杂(和有用)的日志记录是可能的,但它完全涉及直接C++.如果您可以为日志记录组件编写托管代码,则可以更轻松地进行处理.