InnoSetup判断是否需要安装npcap

#define NPCAP_VERSION "1.79"

function CompareVersion(V1, V2: string): Integer; 
var 
    P, N1, N2: Integer; 
begin 
    Result := 0; 
    while (Result = 0) and ((V1 <> '') or (V2 <> '')) do 
    begin 
    P := Pos('.', V1); 
    if P > 0 then 
    begin 
     N1 := StrToInt(Copy(V1, 1, P - 1)); 
     Delete(V1, 1, P); 
    end 
     else 
    if V1 <> '' then 
    begin 
     N1 := StrToInt(V1); 
     V1 := ''; 
    end 
     else 
    begin 
     N1 := 0; 
    end; 

    P := Pos('.', V2); 
    if P > 0 then 
    begin 
     N2 := StrToInt(Copy(V2, 1, P - 1)); 
     Delete(V2, 1, P); 
    end 
     else 
    if V2 <> '' then 
    begin 
     N2 := StrToInt(V2); 
     V2 := ''; 
    end 
     else 
    begin 
     N2 := 0; 
    end; 

    if N1 < N2 then Result := -1 
     else 
    if N1 > N2 then Result := 1; 
    end; 
end; 

function NeedInstallnpcap: Boolean;
var version: String;
begin
  if RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\NpcapInst', 'DisplayVersion', Version) then
  begin
    if CompareVersion(version, '{#NPCAP_VERSION}') >=0 then
    begin
      Result := False;
      Exit;
    end;
  end;

  Result := True;
end;

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值