首页 > 解决方案 > C++ 在后台运行程序 Windows 10

问题描述

我正在尝试在 Windows 10 中以 C++ 编写的后台运行可执行文件。该程序没有任何 GUI。我试过这个

window = FindWindowA("ConsoleWindowClass", NULL);
ShowWindow(window,0);

但是,尽管它确实在 Windows 7 上运行并打开并立即关闭控制台,并且可执行文件在后台运行,但在 Windows 10 上它会打开一个控制台并且控制台保持打开状态。如果我运行 .exe,run /B main.exe我必须保持控制台打开以使程序继续运行,如果我关闭 cmd 控制台执行将停止。

有没有办法以编程方式在后台运行文件?我知道我可以使用 vbscript 在后台运行它,但我想避免这种情况。

标签: c++winapibackgroundwindows-10

解决方案


使用 FreeConsole() 您可以从控制台窗口中分离一个进程——这对我有用:

int main() 
{
   FreeConsole();
   while (1) ::Sleep(1000);
   return 0;
}

有关详细说明,另请参阅相关的 Microsoft 文档


推荐阅读