inno setup 遍历注册表

inno setup遍历注册表某个路径如HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall下包含指定字符串的key示例如下:

//out表示出参
function CheckIsInstalledFromRegistry(out uninstallKey: String):Boolean;
var
  Names: TArrayOfString;
  I: Integer;
  RootKey: Integer;
  Subkey: String;
begin
  Result := false;
  if IsWin64 then
  begin
    RootKey := HKLM64;
  end
  else
  begin
    RootKey := HKLM32;
  end;
  if RegGetSubkeyNames(RootKey, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall', Names) then
  begin
    for I := 0 to GetArrayLength(Names)-1 do
    begin
      Subkey :=  Names[I];
      //检测注册表的Subkey是否包含"helloUninstall"
      if Pos('{#MyAppUninstallRegistryKeyName}', Subkey) > 0 then
      begin
        MyLog('hello is installed! '+ Subkey);
        uninstallKey := Subkey;
        Result := true;
      end
      else
        MyLog(Subkey);
      begin
      end;
    end;
    //MsgBox('List of subkeys:'#13#10#13#10 + S, mbInformation, MB_OK);
  end else
  begin
    MyLog('SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall has no subkey!');
    // 添加处理失败的代码
  end;
end;

 

完整脚本下载:

https://download.csdn.net/download/dongsongz/18299822

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值