如何在计算机中安装IE版本?
我已经找到解决问题的方法,这样我就不用再检查当前安装的IE的版本了。谢谢你的答案。 :)
答案 0 :(得分:8)
uses
Registry;
function GetIEVersion : string;
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_LOCAL_MACHINE;
Reg.OpenKeyReadOnly('Software\Microsoft\Internet Explorer');
try
Result := Reg.ReadString('Version');
except
Result := '';
end;
Reg.CloseKey;
finally
Reg.Free;
end;
end;
此函数应返回当前安装的IE版本号。
答案 1 :(得分:2)
第一把钥匙:
微软谎言IE10中的版本值是为了避免破坏 只能识别单个数字版本号的程序。更多 (hackish)方式是检查IE版本是检查文件版本的 mshtml.dll - 盛江蒋晟2013年9月11日0:06
第二个关键:
在较新版本的IE 10和11版本中,会记录真实版本的值 'svcVersion'和值'Version'包含在'9'的开头。
所有这些都遵循代码
function GetIEVersion: string;
begin
with TRegistry.Create do
try
RootKey := HKEY_LOCAL_MACHINE;
OpenKeyReadOnly('Software\Microsoft\Internet Explorer');
try
Result := ReadString('svcVersion');
if Result.IsEmpty then Result := ReadString('Version');
if Result.IsEmpty then raise Exception.Create('');
except
Result := '0';
end;
CloseKey;
finally
Free;
end;
end;
答案 2 :(得分:0)
uses
Registry;
function GetIEVersion(Key: string): string;
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_LOCAL_MACHINE;
Reg.OpenKey('Software\Microsoft\Internet Explorer', False);
try
Result := Reg.ReadString(Key);
except
Result := '';
end;
Reg.CloseKey;
finally
Reg.Free;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage('IE-Version: ' + GetIEVersion('Version')[1] + '.' + GetIEVersion('Version')[3]);
ShowMessage('IE-Version: ' + GetIEVersion('Version'));
end;
答案 3 :(得分:0)
用途 注册表;
function GetIEVersion(AOnlyMajorVersion: Boolean = False): string;
var
lVersao: string;
lReg: TRegistry;
begin
Result := '';
lReg := TRegistry.Create;
try
lReg.RootKey := HKEY_LOCAL_MACHINE;
if lReg.OpenKeyReadOnly('Software\Microsoft\Internet Explorer') then
begin
lVersao := '';
if lReg.ValueExists('svcVersion') then
begin
lVersao := lReg.ReadString('svcVersion');
end
else if lReg.ValueExists('Version') then
begin
lVersao := lReg.ReadString('Version');
end
else if lReg.ValueExists('IVer') then
begin
lVersao := lReg.ReadString('IVer');
end;
if (lVersao <> '') then
begin
if (AOnlyMajorVersion) then
begin
if (WordCount(lVersao, ['.']) > 0) then
begin
lVersao := ExtractWord(1, lVersao, ['.']);
end;
end;
end;
Result := Trim(lVersao);
lReg.CloseKey;
end;
finally
lReg.Free;
end;
end;