如何创建不显示屏幕的 C++ 控制台程序?


我需要创建一个 C++ 控制台程序,该程序在执行时不会显示任何类型的窗口。 所有处理都应在后台完成,无需任何屏幕绘制。

我尝试过的:

我试图隐藏控制台窗口,但程序运行时它总是闪烁控制台屏幕。

解决方案1

更好的选择是 Windows 服务,因为它们根本没有 UI。

尝试将其作为正常的、用户可启动的应用程序来执行此操作似乎……很可疑。

解决方案2

您可以创建常规 Windows 应用程序而不是控制台应用程序,只需不创建任何对话框并像使用控制台应用程序一样继续操作即可。
只是链接器配置发生变化,并且函数 WinMain 而不是 main。
你可以看看我文章中的C++示例,它有类似的实现:
https://www.codeproject.com/Articles/5361060/Tracing-and-Logging-Technologies-on-Windows-Part-1

问候,
格言

解决方案3

目前尚不清楚您想要实现什么目标。 如果您想创建服务,那么您应该遵循解决方案 1 中的建议。如果您尝试创建命令行实用程序,例如 copy 例如,那么你正在做的是 大概 你想要什么。 我猜当您在 IDE 中运行该程序时,您会看到命令窗口打开。 这是正常现象,因为 IDE 需要创建一个终端环境供程序运行。请尝试直接从命令窗口运行程序。 它应该做它的事情并返回到命令行提示符而不显示新的控制台窗口。

コメント

タイトルとURLをコピーしました