netsh从哪里加载资源字符串?

时间:2013-05-27 09:23:46

标签: c# .net powershell netsh

据我所知,没有netsh等价物(在Windows 8 \ 2012之前),必须直接调用netsh并解析输出。

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

我正在尝试识别资源字符串的加载位置(所以我可以引用源而不是硬编码字符串),但我找不到它。

任何想法在哪里寻找这个?我对“netsh interface ipv4 show interface#”命令中的“Base Reachable Time”特别感兴趣。

非常感谢任何帮助! 马丁

1 个答案:

答案 0 :(得分:1)

资源通常存储在MUI文件中,例如C:\ WINDOWS \ SYSTEM32 \ EN-US \ netsh.exe.mui。当然,subdir(en-us)会根据操作系统的默认语言环境而有所不同。如果我在这个文件上运行strings.exe(Sysinternals),我得到以下输出(缩写):

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:
...

这个blog post讨论了如何通过p / invoke提取资源字符串。