首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法用C写windows事件日志?

有没有办法用C写windows事件日志?
EN

Stack Overflow用户
提问于 2011-07-04 21:10:15
回答 1查看 7.6K关注 0票数 10

我需要修改一个用win32 C(而不是c++)编写的简单windows服务。

有没有库可以用来在不使用eventcreate.exe的情况下将事件日志条目写入windows事件日志?或者我必须修改它才能编译成c++程序?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-04 21:48:32

可以,请参阅函数ReportEvent及其example

扩展名为.mc的事件提供程序源文件如下所示:

代码语言:javascript
复制
; // MyEventProvider.mc 
; // This is the header section.
   SeverityNames=(Success=0x0:STATUS_SEVERITY_SUCCESS
               Informational=0x1:STATUS_SEVERITY_INFORMATIONAL
               Warning=0x2:STATUS_SEVERITY_WARNING
               Error=0x3:STATUS_SEVERITY_ERROR
              )
   FacilityNames=(System=0x0:FACILITY_SYSTEM
               Runtime=0x2:FACILITY_RUNTIME
               Stubs=0x3:FACILITY_STUBS
               Io=0x4:FACILITY_IO_ERROR_CODE
              )
   LanguageNames=(English=0x409:MSG00409)
; // The following are the categories of events.
   MessageIdTypedef=WORD
   MessageId=0x1
   SymbolicName=NETWORK_CATEGORY
   Language=English
   Network Events
   ... rest of file omitted

.mc文件被编译成.res文件,该文件被链接到.dll中:

要编译消息文本文件,请使用以下命令:

代码语言:javascript
复制
 mc -U provider.mc

要编译消息编译器生成的资源,请使用以下命令:

代码语言:javascript
复制
rc provider.rc

要创建包含邮件表字符串资源的纯资源DLL,请使用以下命令(您可以从Visual Studio命令提示符运行该命令):

代码语言:javascript
复制
   link -dll -noentry provider.res

..。

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6571979

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档