【问题标题】:"Console Application Window" on Windows CE PlatformWindows CE平台上的“控制台应用程序窗口”
【发布时间】:2025-11-24 19:45:01
【问题描述】:

我遇到了一个关于 Windows CE 平台的“控制台窗口”的问题。 为了简化问题,我编写了这个 HelloWorld 示例应用程序: 我这样写我的代码,构建,运行。 这种行为真的很连贯。 “双击应用程序”后,如果没有输入/输出,则看不到“控制台窗口”。 20 秒后,我打印了“helloworld”,然后我可以看到控制台。 我调查了“printf()”,我可以看到这个 API 来自“corecrt.lib”,我看不到源代码。我不知道这是正常行为,还是我的应用程序有问题。

请给我一些建议。任何事情都将不胜感激。

//-----------------------------------------------
#include <windows.h>
int _tmain(int argc, _TCHAR* argv[])
{
    //After click...there is no window.
    Sleep(20000);

    //20 seconds later ,a window appears.
    printf("HelloWorld!\n");

    return 0;   
}

//--------------------------------------------- -

【问题讨论】:

    标签: console-application windows-ce windows-console


    【解决方案1】:

    这是WinCE 中的预期行为。

    如果不需要输入/输出,控制台将不会出现。 这意味着,应用程序将在双击时静默运行。

    如果你需要控制台窗口出现,你必须使用printf/scanf/getchar等。

    【讨论】:

      【解决方案2】:

      在 CE 下,“windows”和“console”子系统之间没有区别。在桌面上,这些被提供给将其记录在可执行文件中的链接器,以便操作系统可以在必要时启动相应的控制台窗口。相反,它只是在您第一次使用它时创建一个窗口。

      作为一种解决方法,您可以输出一些虚拟内容(例如换行符)来触发控制台窗口的创建。也许AllocConsole()(不确定名称)也可以使用,至少在桌面变体上,它甚至可以用于为窗口程序创建控制台窗口。

      【讨论】:

        最近更新 更多