gpt4 book ai didi

c# - 在 C# 中使用 WMI 读取事件查看器内容时如何获取与文化无关的类型信息

转载 作者:行者123 更新时间:2023-11-30 16:44:49 24 4
gpt4 key购买 nike

我正在使用以下代码行从 EventViewer 读取日志。

var searcher = new ManagementObjectSearcher(@"\\WS2012-DE01\root\cimv2",
"SELECT * FROM Win32_NTLogEvent WHERE Type ='Error'");

以上代码在 en-US 文化中运行良好,但在其他文化中会失败,因为其他文化会将 Error 表示为其他词。

例如:de-DE 文化(德语)中的Error 词表示为 Fehler。我将在不同的环境中使用相同的代码。我不想维护资源文件,因为问题是只有一个词,或者不需要 Translator API,因为采取了安全措施来解决这个问题。谁能给我一个解决方案。

最佳答案

不查询按事件类型名称过滤,而是按内部类型id过滤:

var searcher = new ManagementObjectSearcher(@"\\WS2012-DE01\root\cimv2",
"SELECT * FROM Win32_NTLogEvent WHERE EventType=1");

您可以在 documentation of the WMI Win32_NTLogEvent class 中查看 EventType 的可能值列表.

请注意,属性Type是一个字符串,包含本地语言的类型,而EventType是一个具有固定含义的整数,如

  • 1 = 错误
  • 2 = 警告
  • 3 = 信息
  • 4 = 安全审核成功
  • 5 = 安全审核失败

关于c# - 在 C# 中使用 WMI 读取事件查看器内容时如何获取与文化无关的类型信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43092819/

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