0

私はアマチュア プログラマーで、現在 C++ の第 2 学期に在籍しています (昨日、私が知っていることのアイデアを提供するために構造体について学びました...)。

私は、インターンシップで書類を提出するのに役立つ簡単なプログラムを作成しています。

私はシステムコマンドを使用しています(はい、危険で大きなセキュリティリスクがあることを知っています)。ファイルを表示してどこに置くかを知るために、FirefoxでPDFを開きます。

Firefoxを正常に開き、pdfを開きました。

ただし、Firefox を閉じるまでプログラムの実行が停止します。

私の質問は、同時にプログラムを継続するにはどうすればよいですか?

実行可能ファイルに PDF を表示する簡単な方法はありますか?

編集:これは、pdfを含むFirefoxウィンドウを開くために使用する関数です。

void openPDFBrowser (文字配列[]) {

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ファイルの表示を処理する方が簡単に思えましたが、私はまだこのスレッドのアイデアを考えています

4

1 に答える 1

3

systemはブロッキング コマンドです。つまり、その関数が戻るまで実行を停止します。これを行う唯一の方法は、別のスレッドを作成し (またはChris Hayesforkが指摘したように別のプロセスに)、その中で(または、または)を実行して、メイン スレッドを継続できるようにすることです。systemCreateProcessexec

于 2013-09-06T18:24:13.537 に答える