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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как узнать путь к файлу EXE, Internet Explorer в Vista 
V
    Опции темы
Pavelbej
Дата 22.6.2008, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Для определения пути к IE браузеру, я использую такую функцию:

Код

function GetBrowserPath: string;
const
    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;    
        r.OpenKeyReadOnly(ie);
        result := r.ReadString('Path');
  except 
    r.Free;
  end;
end;


Но вот мне пишут что в Vista браузер не находит. А Висты у меня нет. 
Как еще можно узнать путь? 

Это сообщение отредактировал(а) Pavelbej - 22.6.2008, 22:27
PM MAIL   Вверх
Akella
Дата 22.6.2008, 23:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


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

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



Цитата(Pavelbej @  22.6.2008,  22:24 Найти цитируемый пост)
А Висты у меня нет. 

VirtualBox тебя спасёт
PM MAIL   Вверх
THandle
Дата 23.6.2008, 00:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

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



Цитата(Pavelbej @  22.6.2008,  23:24 Найти цитируемый пост)
 ie = '\SOFTWARE\Microsoft\IE Setup\Setup';


С полной ответственностью заявляю, что в моей Vindows Wista Home Premium нет и никогда не было такого ключа.

Замечания по коду(он нерабоч, но все же):

1. на кой вообще там переменные?
2. освобождать ресурсы мы будем конечно только в результате возникновения ошибки? Там нужен только finally, и никто боле...
3. Зачем, ну зачем, уже получив в конструкторе права Access как только для чтения, еще раз упоминать это право(все мы его конечно имеем, но лучше в некоторых случаях права свои приберечь).

Из всего вышесказаннаго, даю работающий у меня вариант:
Код


function GetBrowserPath: string;
begin
  with TRegistry.Create(KEY_READ) do
    try
      RootKey := HKEY_LOCAL_MACHINE;
      OpenKey('\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\IEXPLORE.EXE', false);
      result := ReadString('Path');
    finally
      Free;
    end;
end;


или:

Код


function GetBrowserPath: string;
begin
  with TRegistry.Create do
    try
      RootKey := HKEY_LOCAL_MACHINE;
      OpenKeyReadOnly('\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\IEXPLORE.EXE');
      result := ReadString('Path');
    finally
      Free;
    end;
end;



ЗЫ: у меня на конце полученного пути сидит знак точки ззапятой.
PM   Вверх
Pavelbej
Дата 23.6.2008, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Akella @  22.6.2008,  23:55 Найти цитируемый пост)
VirtualBox тебя спасёт 

Шо такое?


Цитата(THandle @  23.6.2008,  00:45 Найти цитируемый пост)
Замечания по коду(он нерабоч, но все же):
1. на кой вообще там переменные?
2. освобождать ресурсы мы будем конечно только в результате возникновения ошибки? Там нужен только finally, и никто боле...
3. Зачем, ну зачем, уже получив в конструкторе права Access как только для чтения, еще раз упоминать это право(все мы его конечно имеем, но лучше в некоторых случаях права свои приберечь).

Это просто старые исходники, в спешке убирал лишнее.

Цитата(THandle @  23.6.2008,  00:45 Найти цитируемый пост)
С полной ответственностью заявляю, что в моей Vindows Wista Home Premium нет и никогда не было такого ключа.

А вот за это спасибо?
PM MAIL   Вверх
THandle
Дата 24.6.2008, 00:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

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



Pavelbej, ставь Висту на виртуальную машину и проверяй...


Цитата(Pavelbej @  23.6.2008,  13:58 Найти цитируемый пост)
А вот за это спасибо? 


Я то откуда знаю smile 

В моем примере дан ключ в котором именно и хранится путь к этому IE. smile

Добавлено через 40 секунд
Ой, извиняюсь. Не заметил что тема решенная. Ну да ладно.
PM   Вверх
Akella
Дата 25.6.2008, 07:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


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

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



Pavelbej, VirtualBox - это виртуальная машина, довольно простая в настройке, на русском языке. В ней ты можешь запустить "свисту" и поэксперементировать.

Цитата(Pavelbej @  22.6.2008,  22:24 Найти цитируемый пост)
Но вот мне пишут что в Vista браузер не находит. А Висты у меня нет. 


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

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

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

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

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


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

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


 




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


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

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