C++ OS X 打开默认浏览器
Posted
技术标签:
【中文标题】C++ OS X 打开默认浏览器【英文标题】:C++ OS X open default browser 【发布时间】:2011-05-09 19:55:02 【问题描述】:我想知道一种从 C++ 应用程序打开 OS X 上的默认浏览器然后打开请求的 URL 的方法。
编辑:我是这样解决的:
system("open http://www.apple.com");
【问题讨论】:
【参考方案1】:查看Launch Services 的文档。
【讨论】:
【参考方案2】:如果您更喜欢使用原生 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
【讨论】:
以上是关于C++ OS X 打开默认浏览器的主要内容,如果未能解决你的问题,请参考以下文章