Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > Как програмно запустить определенный браузер


Автор: simsmann 26.11.2006, 15:46
Как програмно запустить определенный браузер с определенным урлом. Допустим FireFox http://yandex.ru или Opera, Netscape ...

Автор: VectorMan 26.11.2006, 16:12
Код

function OpenUrlInFirefox(S:String):Boolean;
begin
  Result := ShellExecute(0, 'open', 'firefox.exe', S, nil, SW_SHOWNORMAL) > 32;
end;


для остальных браузеров аналогично
главно чтобы исполняемый файл браузера был прописан в HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths

Автор: simsmann 26.11.2006, 17:22
Спасибо за ответ НО !
S: PChar;

А также IE и FireFox запускаются , а OPERA нет. Возможно и другие БРАУЗЕРЫ тоже. Как выйти из положения?

Добавлено @ 17:27 
Нашел следующий выход указать путь к программе
Например:
'C:\Program Files\Opera\opera.exe'

Но нет ли, что нибудь более коррекного т.к. путь надо еще найти?

Автор: Girder 28.11.2006, 20:53
Цитата(simsmann @  26.11.2006,  17:22 Найти цитируемый пост)
Нашел следующий выход указать путь к программе
А ты предлагаеш что бы система за тебя сама по всему диску искала?

Ну а для урла узай 4 параметр  smile или поиск по форуму  smile 

Автор: simsmann 4.12.2006, 18:12
Поиск без проблем но на него уходит много времени. Нужно быстро обработать. Нет ли другого варианта?

Автор: x77 4.12.2006, 18:22
simsmann, сделай ини-файл, в котором будут прописаны все доступные в системе браузеры и пути к ним.

Автор: simsmann 4.12.2006, 19:18
INI даст статическую информацию браузеры могут ставиться и удалятся.

Автор: x77 4.12.2006, 19:50
simsmann, совершенно верно. ини даст возможность подключать/менять/удалять браузеры без перекомпиляции клиента.

Автор: Bose 4.12.2006, 21:26
simsmann, поищи пути до броузеров в реестре. 

Автор: simsmann 4.12.2006, 22:50
Смотрел нет определенной централизации покрайне мере не нашел. Производители Браузеров их раскидывают. Прочитать все программы можно но как определить в реестре что это именно Брауер. Браузер может быть любой даже неизвестный.

Добавлено @ 22:53 
к X77 чтобы сделать изменение в ини опять прочесывать все диски- это долго. Тем более прочесывать придется либо при загрузке системы либо при запуске программы. Слишком нагруженно и долго.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)