Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.10.2014, 10:02   #1
Janger
Форумчанин
 
Регистрация: 28.09.2011
Сообщений: 250
По умолчанию Узнать версию IE

Всем доброе утро.
Вот появилась проблема. Пытаюсь узнать версию своего IE.
Достал код:
Код:
function IE_installed(var Version: string): Boolean;
var
  Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  with Reg do
  begin
    RootKey := HKEY_LOCAL_MACHINE;
    OpenKey('Software\Microsoft\Internet Explorer', False);
    if ValueExists('Version') then
      Version := ReadString('Version')
    else
      Version := '';
    CloseKey;
    Free;
  end;
  Result := Version <> '';
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  IE_Version: string;
begin
  if IE_Installed(IE_Version) then
    ShowMessage(Format('Internet Explorer %s installed.', [IE_Version]));
end;
Он мне выдаёт следующее, --> Internet Explorer 9.11.9600.17278 installed.
============
Но когда я смотрю версию версию программы IE, он мне пишет что моя версия: 11.0.9600.17278
============
Подскажите в чём дело?
Я уже несколько вариантов испробовал, он всегда выдаёт мне одно и тоже...
Janger вне форума Ответить с цитированием
Старый 14.10.2014, 10:11   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Там рядом есть svcVersion, в нем 11. Видимо для новых IE его смотреть надо.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 14.10.2014, 10:16   #3
Janger
Форумчанин
 
Регистрация: 28.09.2011
Сообщений: 250
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Там рядом есть svcVersion, в нем 11. Видимо для новых IE его смотреть надо.
Вот из за чего не люблю работать с реестром.
К примеру в Windows XP стоит один путь, а у Windows 8.1 совершенно другой путь...
Janger вне форума Ответить с цитированием
Старый 14.10.2014, 10:24   #4
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Вопрос оффтоп: а нахрена, собственно? Как полученную информацию ты потом собираешься использовать на практике?

По делу: Версию программы можно прочитать прямо из VersionInfo самого ехе-шника. Могу доказать:
Изображения
Тип файла: png 21.png (24.4 Кб, 52 просмотров)
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 14.10.2014, 10:27   #5
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Возможно это сделано ради заботы о старом недософте, который проверяет версию по первой цифре.
Код:
if (ieVersion[0] <= '6')
    print 'Update IE!';
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 14.10.2014, 10:45   #6
indexx
Заблокирован
 
Регистрация: 12.09.2014
Сообщений: 544
По умолчанию

Цитата:
Версию программы можно прочитать прямо из VersionInfo самого ехе-шника
Но для начала нужно узнать путь к нему. И снова возвращаемся к реестру.
indexx вне форума Ответить с цитированием
Старый 14.10.2014, 10:56   #7
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
Но для начала нужно узнать путь к нему. И снова возвращаемся к реестру.
Гений, ёмаё!
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 14.10.2014, 10:58   #8
indexx
Заблокирован
 
Регистрация: 12.09.2014
Сообщений: 544
По умолчанию

Сам ты гений. Насоветовал ерунду, будь мужиком признать.
indexx вне форума Ответить с цитированием
Старый 14.10.2014, 11:06   #9
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

А зачем реестр? Путь к Program Files и без реестра узнается через винапи.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 14.10.2014, 11:06   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от indexx Посмотреть сообщение
Сам ты гений. Насоветовал ерунду, будь мужиком признать.
путь то узнается однозначно.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как узнать версию сервера? Vit@L БД в Delphi 2 04.11.2011 16:54
Узнать версию Indy из исходников FreeBrain Помощь студентам 2 01.09.2010 19:49
Как узнать версию библиотеки в Devcpp? Lavisa Общие вопросы C/C++ 2 30.07.2009 16:44
Узнать версию WINDOWS dimonbest Win Api 1 29.12.2008 12:07
Как узнать версию браузера FlooPy PHP 3 24.11.2007 23:25