У меня есть приложение, которое запускает веб-страницу в «текущем» браузере, когда пользователь выбирает ее. Эта часть моего приложения прекрасно работает в версии для 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);
}