6

背景:我们开发win32应用程序,并在windows上使用“Thompson Toolkit”为我们提供了一个类似unix的shell,我们将其用作我们的命令行。

我们有一个要写入控制台的 GUI 程序(带有 WinMain 和消息循环),但是 printf 等不起作用,即使我们从控制台启动程序也是如此。我们如何从 GUI 程序写入控制台?我们需要在那里打印文本,以便自动构建系统可以显示错误消息等。

谢谢。

4

4 回答 4

5

简而言之,您需要附加一个控制台。有关详细信息和准备使用的代码,请参阅http://www.codeproject.com/KB/dialog/ConsoleAdapter.aspx

于 2008-10-10T17:17:04.147 回答
0

基本上你必须自己用AllocConsole,来创建一个控制台AttachConsole。之后,您必须GetStdHandle_open_osfhandle.

返回的句柄可用于覆盖 crtstdinstdout. 之后,所有 crt 方法都printf应该工作。

于 2011-02-14T09:40:39.570 回答
0

不要登录到控制台,而是登录到文件,然后使用单独的 gui 应用程序跟踪文件。这使控制台保持整洁,并为您提供更持久的日志记录,这有时非常有用。有各种库可以为您完成大部分工作,或者您可以保持简单并自己做。

于 2008-10-10T17:24:15.100 回答
-1

假设您使用的是 VS,则可以在 Visual Studio 项目设置中的某处打开控制台。(不能说在哪里,因为我目前没有)

于 2008-10-10T17:22:31.610 回答