我正在尝试使用Inno Setup的Pascal脚本从Windows注册表(本例中为Google Sketchup)获取应用程序的安装目录,以便我可以在那里安装插件。
注册表项没有名称,在Regedit中只有“(默认)”。
我试过了:
RegQueryStringValue( HKLM, 'SOFTWARE\Google\Google Sketchup 6', '(Default)', pluginLoc );
但它不会返回值。有什么建议吗?
答案 0 :(得分:16)
只需将SubKeyName
留空即可:
[Code]
function InitializeSetup(): Boolean;
var
V: string;
begin
if RegQueryStringValue(HKLM, 'SOFTWARE\Google\Google Sketchup 6', '', V) then
MsgBox('Value is "' + V + '"', mbInformation, MB_OK);
Result := TRUE;
end;
基础API调用的匹配文档适用于 RegQueryValueEx() ,其中声明:
注册表值的名称。
如果lpValueName为NULL或空字符串“”,则该函数检索密钥的未命名或默认值的类型和数据(如果有)。