我有一個基於對話框的MFC應用程序,通過它我必須調用一個.NET可執行文件。如何從.NET可執行文件獲取輸出並傳遞給MFC應用程序?
我的問題是:
- MFC應用程序將如何知道.NET可執行文件被關閉?
- 如果假設.Net可執行文件處理某些信息並想將輸出傳遞給MFC應用程序,那麼這怎麼實現。
請幫忙!!
我有一個基於對話框的MFC應用程序,通過它我必須調用一個.NET可執行文件。如何從.NET可執行文件獲取輸出並傳遞給MFC應用程序?
我的問題是:
請幫忙!!
MFC應用程序可以等待.NET進程以正常方式退出 - 使用等待句柄或輪詢它。對於收集輸出 - 最簡單的機制可能是.NET可執行文件寫入文件,然後MFC應用程序可以在之後讀取它。這很簡單但很容易實現!
1)您的MFC應用程序可以使用的CreateProcess()來運行.NET EXE,然後使用GetExitCodeProcess()功能,以找出是否已經完成。如果尚未完成,則此API返回STILL_ACTIVE(259)。
2)如果.NET EXE輸出到命令行,則可以使用標準句柄StdOut和StdErr讀取輸出。更多信息here。
的ShellExecute( 「%SYSTEMROOT%\ SYSTEM32 \ Cmd.exe中 /C \」 路徑到你的.NET EXE \」>:
或者,通過命令行像這樣調用你的.NET EXE %TEMP%\ CaptureOutput.txt」,...)
,然後等待在 'CaptureOutput.txt' 文件並閱讀其內容。
什麼是.NET應用程序的「輸出」?這是一個命令行應用程序寫入標準輸出嗎? – 2009-08-05 10:17:54
不,它是一個winform應用程序。假設它爲特定的搜索關鍵字查詢數據庫並輸出結果。 – 2009-08-05 10:21:20