簡體   English   中英

如何將程序的控制台輸出存儲在文本文件中?

[英]How to store the console output of a program in a text file?

好的,所以我的gui程序依賴於另一個第三方控制台程序在pdf上顯示信息。 控制台程序將pdf的文件名作為參數並顯示信息。 我將顯示的信息存儲在文本文件中。 然后,我的gui程序將讀取文本文件並將其顯示在編輯窗口中。 要將顯示的信息存儲在文本文件中,現在我正在使用系統調用:

 infodisplayer filename.pdf >> info.txt

它將輸出存儲到我的gui程序隨后讀取的“ info.txt”中。 現在,這將顯示一個令人煩惱的控制台窗口,因為它需要命令處理器。 我不想顯示控制台窗口。 那么,有沒有辦法使用WinApi,Glib,Gtk +或C標准庫將控制台程序的輸出存儲在文本文件中,這樣我就不必訴諸系統調用了? 謝謝。

對不起,我知道我沒有很好地描述我的問題,但是我正在做的是這樣的: 邏輯

跟隨程序應該可以解決問題。 順便說一句,該程序使用Windows API。

HWND hWnd = FindWindow(null, "Console Window title here");

if (hWnd != NULL)
 {
      ShowWindow(hWnd, 0); // 0 = SW_HIDE               
 }

您可以將此代碼塊放入Timer事件中,以經常檢查控制台窗口的存在。 甚至更好,您可以使用以下方法:

char MyCommand[]="cmd.exe /c infodisplayer filename.pdf >> info.txt"; 
int res = CreateProcess(NULL, MyCommand , NULL, NULL, FALSE, CREATE_NO_WINDOW ,
                        NULL, NULL, &StartInfo, &ProcInfo);
if (res)
{

   WaitForSingleObject(ProcInfo.hThread, INFINITE);

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM