我有一个应用程序,当用户选择它时,它会在“当前”浏览器中启动一个网页。我的应用程序的这一部分在 Windows 版本中运行良好,但我不知道如何在 Linux 版本中执行此操作。
现在 Linux 版本在特定目录中针对 Firefox 进行了硬编码,并且每次都运行一个新实例并且不显示我传入的 URL。我希望它不会每次都启动新版本但是如果它已经在运行,只需在当前打开的页面中打开一个新页面。
对于我使用的窗口:
ShellExecute(NULL,"open",filename,NULL,NULL,SW_SHOWNORMAL);
对于我目前使用的 Linux:
pid_t pid;
char *args[2];
char *prog=0;
char firefox[]={"/usr/bin/firefox"};
if(strstri(filename,".html"))
prog=firefox;
if(prog)
{
args[0]=(char *)filename;
args[1]=0;
pid=fork();
if(!pid)
execvp(prog,args);
}
最佳答案
如果您正在为现代发行版编写此代码,则可以使用 xdg-open
:
$ xdg-open http://google.com/
如果您使用的是旧版本,则必须使用特定于桌面的命令,例如 gnome-open
或 exo-open
。
关于c++ - 在 Linux 中从我的应用程序启动网页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/155930/