我目前面临一个奇怪的问题。我不确定为什么微软决定采用这种方式,但是对我来说,这似乎是最糟糕的设计。
我的Windows安装是使用德语作为语言完成的。不过,我已经习惯了英语,所以我将主要语言改为了。
现在,所有性能计数器和类别都使用其德语名称进行注册,但是我想独立于系统语言使用它们。因此,我在创建它们的英文名称时对其进行了“硬编码”,这导致了我的错误。
为解决此问题,我找到了一个整洁的snippet,它可以使用英文名称进行创建并将其自动翻译为正确的名称。
现在,由于我的系统语言是英语,但是我的计数器是使用德语名称注册的,如何在不将德语名称硬编码到本地化应用程序的情况下获得它们?我真的不明白为什么他们为此使用本地化的名称而不是通用的ID。本机方法始终返回英文名称,因为我将其用作系统语言。
编辑:注册表仅显示英文名称,但是当我打电话给PerformanceCounterCategory.GetCategories()
时,会得到德语名称的列表。