Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Автоопределение местонахождения браузера, Как? 
V
    Опции темы
winsoft
Дата 10.8.2006, 19:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Президент WINsoft



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 14.11.2005

Репутация: нет
Всего: нет



Добрый день! Скажите, пожалуйста, как можно автоматически определить пути к таким браузерам, как Internet Explorer, Opera, Mozilla Firefox и Netscape?
Слышал, вроде можно через реестр, но не смог найти ключи  smile  smile  smile 
PM MAIL WWW ICQ   Вверх
Snowy
Дата 10.8.2006, 19:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Здесь все установленные программы: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
Ищи нужные, путь у каждой в ключе InstallLocation
PM MAIL   Вверх
winsoft
Дата 10.8.2006, 19:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Президент WINsoft



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 14.11.2005

Репутация: нет
Всего: нет



А более точные ключи существуют?  smile 
PM MAIL WWW ICQ   Вверх
Snowy
Дата 10.8.2006, 19:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Не у всех.
Сейчас идёт переориентация на AppData, а не реестр.
Опера хранит свои данные там. Но может и в Program Files - в зависимости от настроек.
Если затачиваться под конкретный браузер, то можно.
Но путь через эту ветку более надёжен и универсален.
PM MAIL   Вверх
winsoft
Дата 10.8.2006, 19:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Президент WINsoft



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 14.11.2005

Репутация: нет
Всего: нет



А можно посмотреть код вытягивания этих самый путей к браузерам из этой ветке реестра?

 smile 
PM MAIL WWW ICQ   Вверх
Snowy
Дата 10.8.2006, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Код

function GetBrowserPath(BName: string = ''): string;
const
  key = '\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall';
  ie = '\SOFTWARE\Microsoft\IE Setup\Setup';
var
  r:  TRegistry;
  sl: TStringList;
  s:  string;
  i:  integer;
begin
  result := '';
  try
    r := TRegistry.Create(KEY_READ);
    r.RootKey := HKEY_LOCAL_MACHINE;
    if BName = '' then begin
      r.OpenKeyReadOnly(ie);
      result := r.ReadString('Path');
    end else begin
      r.OpenKeyReadOnly(key);
      sl := TStringList.Create;
      r.GetKeyNames(sl);
      for i := 0 to sl.Count - 1 do begin
        r.OpenKeyReadOnly(key + '\' + sl[i]);
        s := r.ReadString('DisplayName');
        if pos(BName, s) > 0 then result := r.ReadString('InstallLocation');
      end;
    end;
  except end;
end;

// Пример использования
procedure TForm1.Button1Click(Sender: TObject);
begin
  Memo1.Lines.Add('IE - ' + GetBrowserPath);
  Memo1.Lines.Add('Opera - ' + GetBrowserPath('Opera'));
  Memo1.Lines.Add('FireFox - ' + GetBrowserPath('FireFox'));
  Memo1.Lines.Add('Maxton - ' + GetBrowserPath('Maxton'));
  Memo1.Lines.Add('Netscape - ' + GetBrowserPath('Netscape'));
  Memo1.Lines.Add('Photoshop - ' + GetBrowserPath('Photoshop'));
end;

PM MAIL   Вверх
winsoft
Дата 10.8.2006, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Президент WINsoft



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 14.11.2005

Репутация: нет
Всего: нет



Все, заработало. Извините за флуд.  smile  smile 
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0488 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.