在Windows的C/C++中,如何使用默认浏览器打开网站?在Mac OS X中,我这样做system("open http://url");
lor*_*ova 19
你必须使用ShellExecute().
这样做的C代码很简单:
ShellExecute(NULL, "open", "http://url", NULL, NULL, SW_SHOWNORMAL);
Run Code Online (Sandbox Code Playgroud)
这是由Microsoft知识库文章KB 224816记录的,但不幸的是该文章已经退役,并且没有它的存档版本.
要在默认浏览器中打开 URL,您可以使用 shell 命令,system()如下所示:
#include <stdlib.h>
int main(void)
{
system("open https://example.com");
}
Run Code Online (Sandbox Code Playgroud)
open是在 MacOS 上打开内容的默认命令,但是当您想在 Windows、Linux 或其他操作系统上打开 URL 时会发生什么?
好吧,您需要更改该open命令。
在 Linux 上
xdg-open <link>
Run Code Online (Sandbox Code Playgroud)
在 Windows 上
start <link>
Run Code Online (Sandbox Code Playgroud)
在 MacOS 上
open <link>
Run Code Online (Sandbox Code Playgroud)
但有个好消息,您不需要处理这个问题,我已经创建了一个模块/包/库,您可以使用 CLIB安装它。它是跨平台的,已经处理操作系统的东西,并且将它包含在您的项目中非常容易。
安装
$ clib install abranhe/opener.c
Run Code Online (Sandbox Code Playgroud)
用法
#include "opener.h"
int main(void)
{
opener("https://example.com");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
由于它是使用 shell 命令编写的,因此您还可以打开本地目录。
// Open current directory
opener(".");
Run Code Online (Sandbox Code Playgroud)