2010-11-14 14 views
5

Me gustaría saber una forma de abrir el navegador predeterminado en OS X desde una aplicación C++ y luego abrir una URL solicitada.Explorador abierto C++ OS X

EDIT: He resuelto de esta manera:

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

Respuesta

12

En caso de que prefiera el uso de los X API del sistema operativo nativo en lugar de system("open ...")

Puede utilizar este código:

#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); 
} 

el que hay que compilar con los marcos adecuados OS X:

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