我有一个应用程序,当用户选择它时,在"当前"浏览器中启动一个网页.我的这部分应用程序在Windows版本中运行良好,但我无法弄清楚如何在Linux版本中执行此操作.
现在,Linux版本在特定目录中为Firefox进行了硬编码,并且每次都运行它的新实例,并且不显示我传入的URL.我希望它不会每次都启动一个新版本,而只是打开一个当前打开的新页面如果已经在运行.
对于Windows我使用:
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); }
John Milliki.. 7
如果你是为现代发行版写的,你可以使用xdg-open
:
$ xdg-open http://google.com/
如果您使用的是旧版本,则必须使用特定于桌面的命令,如gnome-open
或exo-open
.
如果你是为现代发行版写的,你可以使用xdg-open
:
$ xdg-open http://google.com/
如果您使用的是旧版本,则必须使用特定于桌面的命令,如gnome-open
或exo-open
.