2011-09-17 460 views
0

我有一個小型的c工具,其中我執行_popen。我編譯的Windows和Linux的工具,在Linux中我使用的是代替_popen的函數popen隱藏控制檯窗口執行_popen

這些功能很好,我可以得到子過程的輸出。但是,如果我在窗口上執行該功能(_popen),則可以看到一個cmd窗口。在這個窗口沒有輸出,但窗口是可見的。

有沒有辦法阻止或隱藏這個窗口?

問候

凱文·邁耶

+0

您的Windows有問題,而不是Linux。標籤已移除。 –

+0

對不起。感謝編輯。 –

+0

可能相關:http://stackoverflow.com/questions/1910153/popen-do-not-show-the-shell-window-sw-hide – user786653

回答

2

您可以使用CREATE_NO_WINDOW 標誌調用CreateProcess。這顯然是不可移植的,但它確實完成了工作。

1

您可以撥打GetConsoleWindow獲得控制檯窗口的句柄,然後調用ShowWindow將其隱藏。

+0

謝謝。我試過這個。如果我用'-mwindows'編譯我的應用程序(我用mingw編譯它)沒有區別,但是如果我編譯沒有它的應用程序,你的解決方案就可以工作。如果我沒有'-mwindows'的話,那麼在beginnig就是在很短的時間內顯示的cmd-Window。沒關係,但是有沒有辦法用'-mwindows'編譯項目並始終隱藏控制檯? –

+0

@kevin:我遇到了與popen相同的問題,此問題得到解決。請引導 – Ragav