0

我想在我的 C# Windows Phone Gui 应用程序中嵌入一个现有的 C++ 控制台应用程序。我已经设法将 C++ 控制台应用程序转换为 Windows(电话)运行时组件,允许我从 C# 调用它。我想知道的是将原始控制台输出路由到我已经为类似应用程序创建的 C# XAML 控制台。我的问题是 C# 控制台使用从“Stream”派生的类,该类使用“Write”函数用新文本更新自身。

不幸的是,我现在知道如何创建一个可供 C# 和 C++ 用于我的目的的流。我四处搜寻,但找不到合适的例子。

如果有所不同,则不必从正常的控制台输出中捕获输出,因为 C++ 应用程序通过名为“log”的函数将其所有输出写入控制台。

4

1 回答 1

0

您需要为 C++ 提供一个您的 C++log函数可以使用的 .NET 回调。

  1. 您应该实现一个 WinRT 接口,其中包含您的log函数(例如ILog)。
  2. 确保您创建了一个实现此接口的 C# 类,并写入您的模拟控制台。
  3. 作为在 .NET 中启动的应用程序的一部分,创建此类的一个实例,并ILog通过 WinRT 将其作为对象传递给 C++。
  4. 在 C++ 中保留此接口的副本,并在 C++log函数中使用它。
于 2013-06-25T13:22:51.600 回答