В C/С++ в Windows, как мне открыть веб-сайт, используя браузер по умолчанию? В Mac OS X я делаю system("open http://url");
Как открыть веб-браузер по умолчанию в Windows на C?
Ответ 1
Вы должны использовать ShellExecute()
.
Код C для этого так же просто, как:
ShellExecute(NULL, "open", "http://url", NULL, NULL, SW_SHOWNORMAL);
Это было задокументировано в статье базы знаний Майкрософт KB 224816, но, к сожалению, статья была удалена, и ее архивная версия отсутствует.
Ответ 2
В Windows вы можете использовать start http://url
в командной строке, чтобы открыть URL-адрес в браузере по умолчанию. Однако это похоже на командную строку и не является реальным исполняемым файлом, поэтому я не думаю, что вы можете запустить его из своей программы на C/С++.
Ответ 3
Чтобы открыть URL в браузере по умолчанию, вы можете использовать команды оболочки и system()
например:
#include <stdlib.h>
int main(void)
{
system("open https://example.com");
}
open
- это команда по умолчанию для открытия содержимого в MacOS, но что происходит, когда вы хотите открыть URL-адрес в Windows, Linux или другой операционной системе?
Ну, вам нужно изменить эту команду open
.
В линуксе
xdg-open <link>
На винде
start <link>
На MacOS
open <link>
Но есть и хорошие новости, вам не нужно с этим справляться, я уже создал модуль/пакет/библиотеку, и вы можете установить его с помощью CLIB. Он кроссплатформенный, уже работает с операционными системами, и его очень легко включить в ваш проект.
Монтаж
$ clib install abranhe/opener.c
использование
#include "opener.h"
int main(void)
{
opener("https://example.com");
return 0;
}
Поскольку он написан с использованием команд оболочки, вы также можете открывать локальные каталоги.
// Open current directory
opener(".");