[英]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.