好的,这可能有一个非常简单的答案,但我以前从未尝试过:如何从应用程序中启动网页?您知道,“点击此处转到我们的常见问题解答”,当他们这样做时,它会启动他们的默认网络浏览器并转到您的页面。我正在Windows的C/C++中工作,但如果有更广泛、更可移植的方法,我也想知道。
#include <windows.h>
void main()
{
ShellExecute(NULL, "open", "http://yourwebpage.com",
NULL, NULL, SW_SHOWNORMAL);
}
顺便说一句(因为您要求跨平台选项),以下方法在Linux中效果良好:
#include <unistd.h>
#include <stdlib.h>
void launch(const std::string &url)
{
std::string browser = getenv("BROWSER");
if(browser == "") return;
char *args[3];
args[0] = (char*)browser.c_str();
args[1] = (char*)url.c_str();
args[2] = 0;
pid_t pid = fork();
if(!pid)
execvp(browser.c_str(), args);
}
用法:
launch("http://example.com");
ShellExecute( NULL, "open", "http://stackoverflow.com", "", ".", SW_SHOWDEFAULT );
terminate called after throwing an instance of 'std::logic_error' what(): basic_string::_S_construct null not valid
。 - Czarek Tomczak