Как вы получаете текущую установленную версию IE с Delphi? - PullRequest
2 голосов
/ 15 июля 2010

Как я могу установить версию IE, установленную на моем компьютере?


Я нашел способ решения проблемы, чтобы мне не нужно было проверять версиюна данный момент установлен IE больше.Спасибо за ответы, хотя.:)

Ответы [ 3 ]

8 голосов
/ 15 июля 2010
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.

2 голосов
/ 28 марта 2017

Я бы обновил упомянутые здесь ответы, старый и MS KB .

Первый ключ:

Microsoft лжет о значении версии в IE10, чтобы избежать взлома программы, которые могут распознавать только однозначный номер версии. Еще (хакерский) способ проверить версию IE - проверить версию файла mshtml.dll - Шэн Цзян 晟 晟 11 сентября '13 в 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;
0 голосов
/ 15 июля 2010
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;

Источник: http://www.vbforums.com/showthread.php?t=342893

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...