如何读取注册表资源字符串,例如"@ filename,resource"?

kob*_*bik 4 windows winapi

我有一个注册表项,例如,LocalizedString=@%programfiles%\Internet Explorer\iexplore.exe,-702
是否有一个已知的API来提取路径和字符串而不是自定义解析它(并使用LoadString)?

然后我有一个defult值,例如(default)="%programfiles%\Internet Explorer\iexplore.exe"(包括双引号,但没有@);

Windows如何处理这些东西?

Dav*_*nan 7

您需要的API函数称为RegLoadMUIStringW.这是一个Vista API,所以如果你想支持XP,你需要手动解析注册表项.

更新:实际上,SHLoadIndirectString看起来可能是你的XP救世主.

  • [`ExpandEnvironmentStrings`](http://msdn.microsoft.com/en-us/library/windows/desktop/ms724265.aspx) (2认同)