2013-06-25 56 views
0

我想在C#Windows Phone Gui應用程序中嵌入現有的C++控制檯應用程序。我已經設法將C++控制檯應用程序轉換爲Windows(Phone)運行時組件,允許我從C#調用它。我想要知道的是將原始控制檯輸出路由到已爲類似應用程序創建的C#XAML控制檯。我的問題是,C#控制檯與派生自「Stream」的類一起工作,它使用「Write」函數使用新文本更新自己。Windows(電話)C#和C++之間的運行時組件流

我不幸現在已經知道我應該如何創建一個可供C#和C++用於我的目的的流。我已經四處搜尋,但找不到合適的例子。

如果有所作爲,則不必從正常的控制檯輸出中捕獲輸出,因爲C++應用程序通過名爲「log」的函數將其所有輸出寫入控制檯。

+0

該手機沒有控制檯 - 你是否在UI中以某種方式模擬它? –

+0

是的,我有我自己的控制檯,如上所述,它使用流... – Gerharddc

回答

0

您將需要爲C++提供.NET回調函數,以便您的C++ log函數可以使用。

  1. 您應該實現一個WinRT接口,其中包含log函數(例如ILog)。
  2. 確保您創建了一個實現此接口的C#類,並將其寫入您的模擬控制檯。
  3. 作爲在.NET中啓動應用程序的一部分,創建該類的一個實例,並通過WinRT將其作爲一個ILog對象傳遞給C++。
  4. 在C++中保存此接口的副本,並在C++ log函數中使用它。
相關問題