Delphi 取得IE版本的方法

方法1:读取注册表

function GetIEVersion : string;  //获得IE的版本号
var reg : TRegistry;
begin
  reg := TRegistry.Create;
  reg.RootKey := HKEY_LOCAL_MACHINE;
  result := '';
  try
    if reg.OpenKey('\SOFTWARE\Microsoft\Internet Explorer', false) then    //在win10下必须管理员身份才能运行
    begin
      result := reg.ReadString('svcVersion');
    end;
  finally
    reg.Free;
  end;
end;
缺点:在win10下需要管理员身份才能读取到。

方法2:读取主要文件版本

labVer.Caption := GetFileVersion('mshtml.dll');  //读取mshtml.dll文件的版本号
win10下不需要管理员身份也能读取,不用指定文件的路径。

function   GetFileVersion(FileName : string; mainver : Boolean = false):   string;
var
    V1,   V2,   V3,   V4:   Word;
    VerInfoSize,   Dummy,   VerValueSize:   DWORD;
    VerInfo:   Pointer;
    VerValue:   PVSFixedFileInfo;
begin
    Result   :=   '';
    try
        VerInfoSize   :=   GetFileVersionInfoSize(PChar(FileName),   Dummy);
        GetMem(VerInfo,   VerInfoSize);
        GetFileVersionInfo(PChar(FileName),   0,   VerInfoSize,   VerInfo);
        VerQueryValue(VerInfo,   '\',   Pointer(VerValue),   VerValueSize);
        with   VerValue^   do
        begin
            V1   :=   dwFileVersionMS   shr   16;
            V2   :=   dwFileVersionMS   and   $FFFF;
            V3   :=   dwFileVersionLS   shr   16;
            V4   :=   dwFileVersionLS   and   $FFFF;
            if mainver then
              Result := Format('%d.%d', [V1, V2])
            else
              Result := Format('%d.%d.%d.%d', [V1, V2, V3, V4]);
        end;
        FreeMem(VerInfo,   VerInfoSize);
    except
        Result   :=   '';
    end;
end;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值