Windows CE平台上的“控制台应用程序窗口”

时间:2014-04-28 03:11:53

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

我遇到了关于"控制台窗口的问题" 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;   
}

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

2 个答案:

答案 0 :(得分:4)

预期WinCE中的行为。

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

如果您需要显示控制台窗口,则必须使用printf / scanf / getchar等。

答案 1 :(得分:1)

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

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