gpt4 book ai didi

c++ - 使用 C++ 登录到 Windows 上的事件查看器

转载 作者:行者123 更新时间:2023-12-01 13:19:43 25 4
gpt4 key购买 nike

关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。

5年前关闭。




Improve this question




我想在我的 C++ 应用程序上使用 log。但是,我想使用 Windows (10) 事件查看器,而不是文本文件。我发现了一些奇怪的调用,我什至不知道参数是什么意思 - ReportEvent , OpenEventLog和其他一些 Event Logging functions .由于我的应用程序的一些限制,我也无法使用托管代码。

我也试过在这个 link 上使用代码,但我收到编译错误(命名空间“系统”未定义 - 似乎缺少一些包含文件......)。

我还没有找到有效的示例代码。

如果可能的话,我希望有一个示例代码 - 只是来自本地应用程序的简单日志记录,内置于非托管 C++ 中。有人可以帮忙吗?

最佳答案

您的链接无法编译,因为它是托管的 C++(注意 gcnew 的使用)

如果你只想写字符串很简单,你只需要 RegisterEventSourceReportEvent .

大概是这样的:

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);

这仅允许记录字符串。更复杂(和有用)的日志记录是可能的,但它相当涉及直接的 C++。如果你可以为你的日志组件编写托管代码,它就会变得更容易处理。

关于c++ - 使用 C++ 登录到 Windows 上的事件查看器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37035958/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com