首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

注册表项的读取,该怎么处理

2013-12-23 
注册表项的读取在此仅以一例来说明问题:HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\Languag

注册表项的读取
在此仅以一例来说明问题:
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\Languages\CodeExpansions\Visual C#子键下有一键值对,
键Path,其值为:
%InstallRoot%\VC#\Snippets\%LCID%\Other\;%InstallRoot%\VC#\Snippets\%LCID%\NetFX30\;%InstallRoot%\VC#\Snippets\%LCID%\Visual C#\;%InstallRoot%\VC#\Snippets\%LCID%\Refactoring\;%MyDocs%\Code Snippets\Visual C#\My Code Snippets\;%InstallRoot%\VC#\Snippets\%LCID%\Test\;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 3\Visual Studio 2012\Snippets\VC#\%LCID%\ASP.NET MVC 3\;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 4\Visual Studio 2012\Snippets\VC#\%LCID%\ASP.NET MVC 4\;%InstallRoot%\VC#\Snippets\%LCID%\OfficeDevelopment\

我写程序读出上述值后文本的内容与上面列出来的一样,我的问题是:
怎么样把上面两个百分号之间的InstallRoot,LCID等自动展开,比如InstallRoot,这个应该是Vistual Studio的安装位置,我的安装在D:\Program Files (x86)\Microsoft Visual Studio 11.0,怎么样才能进行这个转换呢,或者说压根就没办法?
[解决办法]
其实LCID代表一个本地ID,比如英语是1033,中文是2052等等。
[解决办法]
InstallRoot应该不是系统变量
应该需要读取vs的其他注册表项才能获得
[解决办法]

引用:
thoughter说的对,至少InstallRoot不是环境变量,需要从其他的地方读取其他注册项,另外LCID也不是环境变量,但可以通过VSLANG读出

不知lz还有什么问题?

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\SxS\VS7]可以获得installdir
然后替换进去

热点排行