我想要做的是創建一個程序,在運行時,用「--exampleparameter --exampleparameter2」作爲cli輸入打開examplecliprogram.exe,等待examplecliprogram.exe終止,然後拿出輸出並做一些有用的事情。我希望examplecliprogram.exe在後臺運行(而不是在另一個窗口中打開),而在運行開銷程序的窗口中顯示examplecliprogram.exe的輸出。C - 運行一個可執行文件並檢索輸出
到目前爲止,我已經探索過諸如popen(),ShellExecute()和CreateProcess()之類的選項,但我似乎無法讓它們中的任何一個正常工作。
首先,我希望這個程序能夠在Windows環境中獨立運行,並且與Linux的兼容性將是一項獎勵。
編輯:我找到了一個通過調用系統(「參數」)的解決方案。我不知道這是否是一個很好的解決方案,可以很好地傳遞給gui,但至少可以解決基本問題。
如果使用的跨平臺工具包一樣的Qt或GTK,你會在一個可移植的方式有(Qt的,在GTK'g_spawn_async_with_pipe'例如'QProcess')的功能來做到這一點。 – 2012-08-02 17:41:02
發佈一些代碼,顯示你的嘗試。 'popen'絕對是最簡單的方法(它是跨平臺的),但它有侷限性。 'CreateProcess'是功能最全面的,但重量更大,使用更復雜,並且不是跨平臺的。 – 2012-08-02 17:41:47