我不确定这是否可行,但我试图在C++的用户默认浏览器中打开一个URL.我只想使用'ShellExecute',但我试图让它跨平台.任何人都知道这是可能的,如果是的话?
通过跨平台我的意思是3:
我确实谷歌搜索了太久了,一无所获.谢谢你的帮助 :)
您最好的选择是使用类似的跨平台库Qt或类似的东西.Qt有一个很好的类QDesktopServices,你可以用来做它:
QDesktopServices::openUrl(QUrl("http://google.com", QUrl::TolerantMode));
Run Code Online (Sandbox Code Playgroud)
根据文件:
在适当的Web浏览器中为用户的桌面环境打开给定的URL,如果成功则返回true; 否则返回false.
请注意,这将为所有平台添加对Qt的依赖性,这可能是一项非常简单的任务.最好为每个平台使用自定义代码,并设置编译器指令以查看您所在的操作系统,并根据该操作系统运行浏览器启动代码.
比如,如果它是在windows上编译的,你可以只编译ShellExecute函数,如果它在Linux上运行,那么根据桌面环境你可以运行相应的命令.
但是,如果你真的在制作一个跨平台的应用程序,那么像Qt这样的依赖关系也不会太糟糕,因为它会帮助解决许多跨平台的问题(比如在系统托盘中保留一个图标,多媒体播放等).
没有库,没有标准的C++方法可以在所有平台上运行.