如何在打开另一个窗口后继续编程

时间:2013-09-06 18:17:58

标签: c++

所以我是一名业余程序员,目前就读于我的第二学期C ++(昨天我们学习了结构,只是为了让你知道我所知道的......)。

我正在创建一个简单的程序来帮助我在实习期间提交文件。

我正在使用系统命令(是的,我知道它的危险和很大的安全风险),在firefox中打开一个pdf,这样我就可以看到该文件,并知道放在哪里。

我已成功打开firefox并打开了pdf。

但是我的程序停止运行,直到我关闭firefox。

我的问题是我如何同时继续我的计划?

是否有更简单的方法在可执行文件中显示pdf?

编辑: 这是我用来打开firefox窗口的函数,其中包含pdf:

void openPDFBrowser(char array []) {

ofstream outFile;
outFile.close();
outFile.open("PDF_browswer_handleScript.txt") ;
if(outFile.good())cout<<"OUTFILE GOOD" << endl;
outFile << "system("<<array<<")"<<endl;
system("PDF_browswer_handleScript.txt");
outFile.close();

}

<。> .txt文件包含:firefox C:\ Scans \ Attorney.pdf 其中firefox引用包含firefox.exe位置的.bat文件 我会采取任何建议

使用外部浏览器来处理pdf文件的显示似乎更容易,尽管我仍在研究这种线程化的想法

1 个答案:

答案 0 :(得分:3)

system是一个阻塞命令 - 意味着它会在该函数返回之前停止执行。唯一的方法是创建一个单独的线程(或fork一个单独的进程,如Chris Hayes所示),并运行system(或CreateProcess ,或exec)在其中,允许主线程继续。