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