C ++ OS X打开默认浏览器

时间:2010-11-14 13:49:00

标签: c++ macos url browser

我想知道一种从C ++应用程序打开OS X上的默认浏览器然后打开请求的URL的方法。

编辑:我解决了这个问题:

system("open http://www.apple.com");

2 个答案:

答案 0 :(得分:14)

如果您更喜欢使用本机OS X API而不是system("open ...")

您可以使用此代码:

#include <string>
#include <CoreFoundation/CFBundle.h>
#include <ApplicationServices/ApplicationServices.h>

using namespace std;

void openURL(const string &url_str) {
  CFURLRef url = CFURLCreateWithBytes (
      NULL,                        // allocator
      (UInt8*)url_str.c_str(),     // URLBytes
      url_str.length(),            // length
      kCFStringEncodingASCII,      // encoding
      NULL                         // baseURL
    );
  LSOpenCFURLRef(url,0);
  CFRelease(url);
}

int main() {
  string str("http://www.example.com");
  openURL(str);
}

您必须使用适当的OS X框架进行编译:

g++ file.cpp -framework CoreFoundation -framework ApplicationServices

答案 1 :(得分:0)

查看Launch Services的文档。