Inno Setup [注册表] - 使用函数返回值

时间:2016-06-08 11:17:38

标签: inno-setup

无论如何都有ValueData(或类似属性)函数的返回值。尝试以下方法:

Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; \
   ValueType: string; ValueName: "Hostname"; ValueData: GetComputerNameString(); \
   Flags: preservestringtype;

但这只是将字符串GetComputerNameString()添加到注册表项。

1 个答案:

答案 0 :(得分:2)

使用scripted constant,语法为GetComputerNameString。虽然脚本化常量函数必须采用字符串参数(即使实际实现不需要任何参数)。所以[Registry] Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; \ ValueType: string; ValueName: "Hostname"; ValueData: {code:GetComputerName}; \ Flags: preservestringtype; 不兼容。您必须创建代理功能。

[Code]

function GetComputerName(Param: string): string;
begin
  Result := GetComputerNameString;
end; 
var point = $('#container-C_2').highcharts().series[0].points[0];
point.update(json[0]['val']);

有关更复杂的示例,请参阅Inno Setup [Code] section variable to [Registry]