[英]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.