• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Открытие страницы

  • Автор темы alam
  • Дата начала
Статус
Закрыто для дальнейших ответов.
A

alam

Нужно из программы открыть страницу в интернете. Система Windows, среда разработки Visual C++.
Как это лучше сделать?
ShellExecute
(
m_hWnd, "open", "www.mail.ru", NULL, NULL,
SW_SHOWDEFAULT
);
работает, но если окно браузера уже открыто, открывает страницу в том же окне, а хотелось бы открыть в новом.
CreateProcess требует имя exe-шника, а если браузеры разные?
 
B

Boriss

Visual сейчас под руками нет, а в Delphi прошло такое
Код:
ShellExecute( 0, 'open', 'www.mail.ru',
'tagret ="_blank"', 0, SW_SHOWDEFAULT);
Поскольку все равно вызывается АПИшная функция, то должно сработать
То есть: 4-ый параметр = pointer to string that specifies executable-file parameters = указатель на строку, которая определяет дополнительные параметры
 
A

alam

Для: Boriss

У меня не получилось ни в Visual ни в Delphi :( Если не трудно вышли исходники на ccammell@mail.ru

Впрочем в продуктах Microsoft страница открывается в уже открытом окне. А так как они рекомендуют делать свои программы похожими на их, то ничего страшного в этом нет :)
 
B

Boriss

А зачем напрягать так? Это все, что сделал для проверки - передаем дополнительный параметр:
Код:
uses ..., ShellAPI;
...
procedure TForm1.FormDblClick(Sender: TObject);
begin
ShellExecute( 0, 'open', 'www.mail.ru',
'tagret ="_blank"', 0, SW_SHOWDEFAULT);
end;
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!