如何在C中打开Windows中的默认Web浏览器?

时间:2010-06-14 12:13:35

标签: c windows

在Windows的C / C ++中,如何使用默认浏览器打开网站?在Mac OS X中,我执行system("open http://url");

3 个答案:

答案 0 :(得分:19)

您必须使用ShellExecute()

执行此操作的C代码非常简单:

ShellExecute(NULL, "open", "http://url", NULL, NULL, SW_SHOWNORMAL);

这是由Microsoft知识库文章KB 224816记录的,但遗憾的是该文章已经停用,并且没有归档版本。

答案 1 :(得分:2)

在Windows中,您可以在命令行上使用start http://url在默认浏览器中打开URL。但是,这似乎是特定于命令提示符,并不是一个真正的可执行文件,所以我认为你不能从你的C / C ++程序启动它。

答案 2 :(得分:1)

要在默认浏览器中打开URL,可以使用shell命令和system(),如下所示:

#include <stdlib.h>

int main(void)
{
  system("open https://example.com");
}

open是在MacOS上打开内容的默认命令,但是当您想在Windows,Linux或其他操作系统上打开URL时会发生什么?

好吧,您需要更改该open命令。

  

在Linux上

xdg-open <link>
  

在Windows上

start <link>
  

在MacOS上

open <link>

但是有个好消息,您不需要处理,我已经创建了module/package/library,您可以使用CLIB安装它。它是跨平台的,已经可以处理操作系统的内容,并且将其包含在项目中非常容易。

安装

$ clib install abranhe/opener.c

用法

#include "opener.h"

int main(void)
{
    opener("https://example.com");
    return 0;
}

由于它是使用shell命令编写的,因此您还可以打开本地目录。

// Open current directory
opener(".");