如何通过Delphi程序准确查询当前IE浏览器的具体版本号?
- 内容介绍
- 文章标签
- 相关推荐
本文共计298个文字,预计阅读时间需要2分钟。
使用该函数获取IE版本。在某些情况下,可能找不到此密钥并返回0。还有其他不依赖于注册表的方法吗?
csharpfunction GetIEVersion(): string;var Reg: TRegistry;S: string;i: integer;begin Reg :=TRegistry.Create; try Reg.RootKey :=HKEY_CURRENT_USER; S :=Reg.ReadString('Software\Microsoft\Internet Explorer', 'Version'); if S='' then Result :='0' else Result :=S; finally Reg.Free; end;end;
我用这个函数来获取IE版本.但在某些情况下,它无法找到此密钥并返回0.还有另一种不依赖于注册表的方法吗?function GetIEVersion: string; var Reg: TRegistry; S: string; i : integer; begin Reg := TRegistry.Create; with Reg do begin RootKey := HKEY_LOCAL_MACHINE; OpenKey('Software\Microsoft\Internet Explorer', False); if ValueExists('Version') then begin S := ReadString('Version'); end else begin S := '0'; CloseKey; end; Free; end; result := s; end; TRegistry.OpenKey()使用TRegistry.Access属性来了解打开密钥时要请求的权限.默认情况下,TRegistry.Access设置为KEY_ALL_ACCESS,仅限于管理员.请改用TRegistry.OpenKeyReadOnly().此外,为了更好地衡量,您可以删除ValueExists()检查,因为如果值不存在,ReadString()将返回空字符串.
试试这个:
function GetIEVersion: string; var Reg: TRegistry; begin Result := ''; Reg := TRegistry.Create; try Reg.RootKey := HKEY_LOCAL_MACHINE; if Reg.OpenKeyReadOnly('Software\Microsoft\Internet Explorer') then try Result := Reg.ReadString('Version'); finally Reg.CloseKey; end; finally Reg.Free; end; if Result = '' then Result := '0'; end;
本文共计298个文字,预计阅读时间需要2分钟。
使用该函数获取IE版本。在某些情况下,可能找不到此密钥并返回0。还有其他不依赖于注册表的方法吗?
csharpfunction GetIEVersion(): string;var Reg: TRegistry;S: string;i: integer;begin Reg :=TRegistry.Create; try Reg.RootKey :=HKEY_CURRENT_USER; S :=Reg.ReadString('Software\Microsoft\Internet Explorer', 'Version'); if S='' then Result :='0' else Result :=S; finally Reg.Free; end;end;
我用这个函数来获取IE版本.但在某些情况下,它无法找到此密钥并返回0.还有另一种不依赖于注册表的方法吗?function GetIEVersion: string; var Reg: TRegistry; S: string; i : integer; begin Reg := TRegistry.Create; with Reg do begin RootKey := HKEY_LOCAL_MACHINE; OpenKey('Software\Microsoft\Internet Explorer', False); if ValueExists('Version') then begin S := ReadString('Version'); end else begin S := '0'; CloseKey; end; Free; end; result := s; end; TRegistry.OpenKey()使用TRegistry.Access属性来了解打开密钥时要请求的权限.默认情况下,TRegistry.Access设置为KEY_ALL_ACCESS,仅限于管理员.请改用TRegistry.OpenKeyReadOnly().此外,为了更好地衡量,您可以删除ValueExists()检查,因为如果值不存在,ReadString()将返回空字符串.
试试这个:
function GetIEVersion: string; var Reg: TRegistry; begin Result := ''; Reg := TRegistry.Create; try Reg.RootKey := HKEY_LOCAL_MACHINE; if Reg.OpenKeyReadOnly('Software\Microsoft\Internet Explorer') then try Result := Reg.ReadString('Version'); finally Reg.CloseKey; end; finally Reg.Free; end; if Result = '' then Result := '0'; end;

