当前位置: 首页 > 知识库问答 >
问题:

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

慕志泽
2023-03-14

对于< code>ValueData(或类似的属性),是否有函数的返回值。已尝试以下方法:

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

但这只是将字符串< code > get computer name string()添加到注册表项中。

共有1个答案

孟俊晖
2023-03-14

使用脚本常量,语法为{code: Phone tionName}。尽管脚本常量函数必须采用字符串参数(即使实际实现不需要任何参数)。因此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; 

有关更复杂的示例,请参阅 Inno Setup [代码] 部分变量到 [注册表]。

 类似资料:
  • 问题内容: 我只想在Windows注册表中使用Golang返回一个(默认)字符串值 我在CMD管理模式下运行它,但没有注意到 问题答案: 我发现了!

  • 扩展内可以调用registerFunction来注册内置函数到PHP中。需要注意Zend有限制,必须在Extension对象创建时注册函数。这与类的注册不同,扩展类必须在onStart回调中注册。 PHPX_EXTENSION() { Extension *ext = new Extension("test", "0.0.1"); ext->registerFunction(PHP

  • 问题内容: 我想在PostgreSQL上设置一个返回表的函数。这是该函数的源代码: 调用该函数仅返回一列,并用’,’分隔值: 我期望有不同的列(在函数的开头为表指定的每个值一个),而不仅仅是所有值的列。有谁知道为什么会这样,我该如何解决? 谢谢蒂莫 问题答案: 使用 代替 以获得表格的结果。 (像对待表一样处理该函数。)

  • 问题内容: 我正在使用Postgresql 8.3,并具有以下简单功能,该功能会将a返回 给客户端 现在,我可以使用以下SQL命令来调用此函数并操纵返回的游标,但是游标名称是由PostgreSQL自动生成的 此外,如38.7.3.5中所述,显式地将游标名称声明为函数的输入参数 。返回游标。我可以声明自己的游标名称并使用此游标名称来操纵返回的游标,而不是为我自动生成的Postgresql吗?如果不是

  • 拦截注册表 bp RegOpenKey(A) 打开子健 bp RegOpenKeyEx 打开子健 bp RegQueryValue(A) 查找子健 bp RegQueryValueEx 查找子健 bp RegSetValue(A) 设置子健 bp RegSetValueEx(A) 设置子健

  • void register_function(string name, mixed impl, bool cacheable, array or null cache_attrs) Use this to dynamically register template function plugins. Pass in the template function name, followed by t