独立于其名称(按ID)获取一个性能计数器

时间:2019-08-02 09:42:54

标签: c# performancecounter system.diagnostics

我目前面临一个奇怪的问题。我不确定为什么微软决定采用这种方式,但是对我来说,这似乎是最糟糕的设计。

我的Windows安装是使用德语作为语言完成的。不过,我已经习惯了英语,所以我将主要语言改为了。

现在,所有性能计数器和类别都使用其德语名称进行注册,但是我想独立于系统语言使用它们。因此,我在创建它们的英文名称时对其进行了“硬编码”,这导致了我的错误。

为解决此问题,我找到了一个整洁的snippet,它可以使用英文名称进行创建并将其自动翻译为正确的名称。

现在,由于我的系统语言是英语,但是我的计数器是使用德语名称注册的,如何在不将德语名称硬编码到本地化应用程序的情况下获得它们?我真的不明白为什么他们为此使用本地化的名称而不是通用的ID。本机方法始终返回英文名称,因为我将其用作系统语言。

编辑:注册表仅显示英文名称,但是当我打电话给PerformanceCounterCategory.GetCategories()时,会得到德语名称的列表。

0 个答案:

没有答案