Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 28.03.2017
Сообщений: 41
1

Как сделать открытие html-страничек в браузере, который стоит на ПК по умолчанию, а не через встроенный?

16.04.2017, 21:43. Просмотров 2259. Ответов 7
Метки нет (Все метки)


Как сделать в делфи открытие html страничек в браузере который стоит на пк по умолчанию,а не через встроенный? А то те же сохранённые закладки для удобства не открыть через встроенный браузер... :'c
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.04.2017, 21:43
Ответы с готовыми решениями:

Открытие html страничек
Как сделать так, чтобы при нажатий на кнопку открывалась html страничка, без использования...

Открытие страничек через локальный сервер
Запущен денвер. Открываю странички через FF - работает, открываю через другие браузеры - при вводе...

Как запустить браузер, который стоит по умолчанию
У меня есть кнопка, как сделать чтоб при нажатие на кнопку запускался браузер по умолчанию

Открытие ссылки в браузере по умолчанию
Добрый день. У меня на форме компонент CppWebBrowser, и на нем есть страница с ссылками, так вот,...

__________________
Помогаю в написании курсовых работ и дипломов здесь.
7
586 / 453 / 147
Регистрация: 09.12.2013
Сообщений: 2,386
Записей в блоге: 2
16.04.2017, 22:20 2
Цитата Сообщение от LordOfTheDead Посмотреть сообщение
Как сделать в делфи открытие html страничек в браузере который стоит на пк по умолчанию
Открыть ссылку как некий документ - ShellExecuteEx(). Система сама откроет через что нужно.
Цитата Сообщение от LordOfTheDead Посмотреть сообщение
а не через встроенный?
Что такое "встроенный"?
Цитата Сообщение от LordOfTheDead Посмотреть сообщение
сохранённые закладки для удобства не открыть через встроенный браузер...
???
0
0 / 0 / 0
Регистрация: 28.03.2017
Сообщений: 41
16.04.2017, 23:31  [ТС] 3
Цитата Сообщение от BOGG ART Посмотреть сообщение
Открыть ссылку как некий документ - ShellExecuteEx(). Система сама откроет через что нужно.
Ну вот к примеру код для открытия новой вкладки через браузер который у меня стоит по умолчанию
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
function DefaultBrowser: string;
var
  Reg: TRegistry;
  regvalue: string;
  i: integer;
begin
  Result := 'iexplore.exe';
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_CLASSES_ROOT;
    if Reg.OpenKey('\http\shell\open\command', FALSE) then begin
      if Reg.ValueExists('') then begin
        regvalue := Reg.ReadString('');
        i := pos('.exe', AnsiLowerCase(regvalue));
        if i > 0 then begin
          regvalue := copy(regvalue, 1, i - 1) + '.exe';
          if regvalue[1] = '"' then
            regvalue := copy(regvalue, 2, length(regvalue) - 1);
          Result := regvalue;
        end;
      end;
      Reg.CloseKey;
    end;
  finally
    Reg.Free;
  end;
end;
 
//Функия открытия самого окна в браузере:
 
function OpenUrl(url: string): Cardinal;
begin
  result := ShellExecute(0, 'open', PChar(DefaultBrowser), pchar(url), '', SW_SHOWNORMAL);
end;
 
//Процедура:
 
//Открываем окно в браузере:
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  OpenUrl('yandex.ru');
end;
Но как сделать такое же открытие вкладки,только внутри программы делфи?
0
586 / 453 / 147
Регистрация: 09.12.2013
Сообщений: 2,386
Записей в блоге: 2
17.04.2017, 02:22 4
Лучший ответ Сообщение было отмечено LordOfTheDead как решение

Решение

И что это за хрень? Я же написал - делается через ShellExecuteEx(). Какой здесь нафик реестр??
Кликните здесь для просмотра всего текста
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
...
 
Uses
      ActiveX,
      ShellApi;
 
...
 
Procedure CorrectShellExecute(Const pWnd: HWND; Const pOperation: String; Const pFileName: String; Const pParameters: String = ''; Const pDirectory: String = ''; Const pShowCmd: Integer = SW_SHOWNORMAL);
Var ExecInfo: TShellExecuteInfo; NeedUnitialize: BooLean;
Begin (* Info: Based on GunSmoker's example; Version: 1.3; Uses: {System,SysUtils,Windows,ActiveX,ShellApi}; *)
Assert(pFileName<>''); // TODO: Useless? Delete? Change?
NeedUnitialize:=Succeeded(CoInitializeEx(Nil, COINIT_APARTMENTTHREADED Or COINIT_DISABLE_OLE1DDE));
Try
      FillChar(ExecInfo, SizeOf(ExecInfo), 0);
      ExecInfo.cbSize:=SizeOf(ExecInfo);
      ExecInfo.Wnd:=pWnd;
      ExecInfo.lpVerb:=Pointer(pOperation);
      ExecInfo.lpFile:=PChar(pFileName);
      ExecInfo.lpParameters:=Pointer(pParameters);
      ExecInfo.lpDirectory:=Pointer(pDirectory);
      ExecInfo.nShow:=pShowCmd;
      ExecInfo.fMask:=SEE_MASK_FLAG_NO_UI;
      {$IFDEF CONDITIONALEXPRESSIONS}
            {$IF CompilerVersion < 23.0} // TODO: Check this...
                  ExecInfo.fMask:=ExecInfo.fMask Or SEE_MASK_FLAG_DDEWAIT;
            {$ELSE}
                  ExecInfo.fMask:=ExecInfo.fMask Or SEE_MASK_NOASYNC;
            {$IFEND}
      {$ELSE} // TODO: Check this...
            ExecInfo.fMask:=ExecInfo.fMask Or SEE_MASK_FLAG_DDEWAIT;
      {$ENDIF}
      {$IFDEF UNICODE} // TODO: Check this...
            ExecInfo.fMask:=ExecInfo.fMask Or SEE_MASK_UNICODE;
      {$ENDIF}
      {$WARN SYMBOL_PLATFORM OFF}
      Win32Check(ShellExecuteEx(@ExecInfo));
      {$WARN SYMBOL_PLATFORM ON}
Finally
      If NeedUnitialize Then
            CoUninitialize();
      End;
End;
 
...
 
Procedure OpenLinkInSystemBrowser(Const pURL: String);
Var URL: String;
Begin (* Info: Open URL in default browser; Version: 1.0; Uses: {System,SysUtils}; *)
URL:=Trim(pURL);
If Not ((1=Pos('http://', URL)) Or (1=Pos('https://', URL))) Then
      URL:='http://'+URL;
CorrectShellExecute(0, '', URL);
End;
 
...


Добавлено через 5 минут
Вы же написали:
Цитата Сообщение от LordOfTheDead Посмотреть сообщение
Как сделать в делфи открытие html страничек в браузере который стоит на пк по умолчанию, а не через встроенный?
А теперь:
Цитата Сообщение от LordOfTheDead Посмотреть сообщение
вот к примеру код для открытия новой вкладки через браузер который у меня стоит по умолчанию
И вы так и не ответили что подразумеваете под "встроенный браузер" и "внутри программы делфи"...

TWebBrowser что ли? Это не "встроенный", это системный Internet Explorer, просто на вашей форме.
Обычный TPageControl и динамическое создание компонентов. Гуглить: "TWebBrowser сделать вкладки".
1
0 / 0 / 0
Регистрация: 28.03.2017
Сообщений: 41
17.04.2017, 21:45  [ТС] 5
Цитата Сообщение от BOGG ART Посмотреть сообщение
Я же написал - делается через ShellExecuteEx()
я не пойму как через ShellExecuteEx сделать
Цитата Сообщение от BOGG ART Посмотреть сообщение
TWebBrowser что ли? Это не "встроенный", это системный Internet Explorer, просто на вашей форме
да,мне интересно как можно через TWebBrowser или какой либо другой компонент открыть браузер,но не Internet Explorer,а тот который у человека установлен по умолчанию
0
Житель Земли
2823 / 2678 / 373
Регистрация: 26.07.2011
Сообщений: 10,737
Записей в блоге: 1
17.04.2017, 21:50 6
Цитата Сообщение от LordOfTheDead Посмотреть сообщение
тот который у человека установлен по умолчанию
тебе ж сказали: ShellExecute, и даже без всяких Ех
Цитата Сообщение от LordOfTheDead Посмотреть сообщение
я не пойму как через ShellExecuteEx сделать
поиск на кой х придумали?
0
880 / 583 / 178
Регистрация: 28.02.2017
Сообщений: 2,359
Записей в блоге: 1
18.04.2017, 01:40 7
Цитата Сообщение от LordOfTheDead Посмотреть сообщение
я не пойму как через ShellExecuteEx сделать
эм... Вообще-то BOGG ART вам дал всё готовое...
Готовый код дали... Чего можно не понять блин? Выделяете, копируете, вставляете к себе.
Цитата Сообщение от LordOfTheDead Посмотреть сообщение
мне интересно как можно через TWebBrowser или какой либо другой компонент открыть браузер,но не Internet Explorer,а тот который у человека установлен по умолчанию
Никак. Тот что у пользователя в свою форму не сунуть. А TWebBrowser это буквально IE.
0
0 / 0 / 0
Регистрация: 28.03.2017
Сообщений: 41
18.04.2017, 20:48  [ТС] 8
спасибо,было не понятно с кодом,но постепенно его разобрал
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.04.2017, 20:48

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь или здесь.

Открытие адреса в браузере по умолчанию
Всем доброго кодинга! В шарп я только что нагрянул и сейчас встал один вопрос который не...

Открытие ссылок в браузере по умолчанию
Помогите пожалуйста, при нажатии на ссылку в компоненте Webbrowser открывается IE, но мне...

Открытие определенного url в браузере по умолчанию
Необходимо из java программы запустить браузер, зарегестрированный в системе, как браузер по...

Открытие url в браузере по умолчанию вызывает ошибку
Здравствуйте! Пытаюсь открыть url в браузере Process.Start(&quot;https://www.cyberforum.ru&quot;); но...

Произвольное открытие вкладок с рекламой в браузере по умолчанию
Самопроизвольно открывается вкладка с РАЗНЫМИ &quot;переадресаторами&quot;. Выключив интернет появляется один...

Открытие сайта в браузере по умолчанию из bat/cmd-файла
Здравствуйте, у меня вопрос : можно из бат файла сделать запуск сайта. Мол когда все процесы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.