C# netsh从何处加载资源字符串?

C# netsh从何处加载资源字符串?,c#,.net,powershell,netsh,C#,.net,Powershell,Netsh,据我所知,在Windows 8\2012之前,没有等效的netsh,必须直接调用netsh并解析输出 不幸的是,语言包应用于Netsh,因此无法解析结果,因为结果取决于语言 我试图确定资源字符串从何处加载(因此我可以引用源代码而不是硬编码字符串),但是我找不到它 你知道去哪里找这个吗?我对“netsh interface ipv4 show interface#”命令中的“基本可达时间”特别感兴趣 非常感谢您的帮助! Martin资源通常存储在MUI文件中,例如c:\windows\system

据我所知,在Windows 8\2012之前,没有等效的netsh,必须直接调用netsh并解析输出

不幸的是,语言包应用于Netsh,因此无法解析结果,因为结果取决于语言

我试图确定资源字符串从何处加载(因此我可以引用源代码而不是硬编码字符串),但是我找不到它

你知道去哪里找这个吗?我对“netsh interface ipv4 show interface#”命令中的“基本可达时间”特别感兴趣

非常感谢您的帮助!
Martin

资源通常存储在MUI文件中,例如c:\windows\system32\en us\netsh.exe.MUI。当然,subdir(en-us)将根据操作系统的默认区域设置而有所不同。如果在此文件上运行strings.exe(Sysinternals),则会得到以下输出(缩写):


本节讨论如何通过p/invoke提取资源字符串。

资源通常存储在MUI文件中,例如c:\windows\system32\en us\netsh.exe.MUI。当然,subdir(en-us)将根据操作系统的默认区域设置而有所不同。如果在此文件上运行strings.exe(Sysinternals),则会得到以下输出(缩写):


这讲的是如何通过p/invoke提取资源字符串。

据我所知,Nesh.exe自Windows 2000以来就存在。为什么要放置PowerShell标记?因为我实际上需要使用Get-ResourceString:从PowerShell解析它,而且在Windows8\2012之前,没有办法(据我所知)获取netsh的功能-现在引入了新的WMI类WMI也存在,因为W2K.WMI不等于WMI类(每个Windows版本都会添加新的)。据我记忆所及,Nesh.exe自Windows 2000以来就存在。为什么要添加PowerShell标记?因为我实际上需要使用Get ResourceString:从PowerShell解析它,而在Windows8\2012之前,没有办法(据我所知)为了获得netsh的功能-现在引入了新的WMI类WMI也存在,因为W2K.WMI不等于WMI类(每个Windows版本都会添加新的类).Hello Keith,感谢您的回复-.mui实际上是我的第一个猜测,不幸的是,netsh.exe似乎是从其他位置加载此特定字符串:(我记得(几年前)netsh.exe实际上是从Windows防火墙的资源文件加载一些字符串,但我找不到“基本可访问时间”的来源:(MartinHello Keith,感谢您的回复-.mui实际上是我的第一个猜测,不幸的是,netsh.exe似乎是从其他位置加载此特定字符串:(我记得(几年前)netsh.exe实际上是从Windows防火墙的资源文件加载一些字符串,但我找不到“基本可访问时间”的位置。)来自:(马丁)
83> strings C:\Windows\system32\en-US\netsh.exe.mui

Strings v2.41
Copyright (C) 1999-2009 Mark Russinovich
Sysinternals - www.sysinternals.com

!This program cannot be run in DOS mode.
Uu]
Rich
.rsrc
MUI
MUI
en-US
Ok.
*The following alias was not found: %1!s!.
 The command cannot be executed.
>There is not enough memory available to complete this action.
The following sub-contexts are available:
...