[英]How do I get culture-neutral type information when reading event viewer content with WMI in C#
我正在使用下面的代码行从EventViewer中读取日志。
var searcher = new ManagementObjectSearcher(@"\\WS2012-DE01\root\cimv2",
"SELECT * FROM Win32_NTLogEvent WHERE Type ='Error'");
上面的代码在en-US
文化中运作良好,但在其他文化中会失败,因为其他文化将代表Error
作为其他一些词。
例如: de-DE
文化中的错误词(德语)表示为Fehler 。 我将在不同的环境中使用相同的代码。 我不想维护资源文件,因为问题只有一个字或者不需要翻译API,因为安全措施可以解决这个问题。 有谁能请我提供解决方案。
不要按事件类型的名称查询过滤,而是按内部类型id过滤:
var searcher = new ManagementObjectSearcher(@"\\WS2012-DE01\root\cimv2",
"SELECT * FROM Win32_NTLogEvent WHERE EventType=1");
您可以在WMI Win32_NTLogEvent类的文档中看到EventType
的可能值列表。
请注意,属性Type
是一个字符串,包含本地语言的类型,而EventType
是一个具有固定含义的整数
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.