使用 gcc/g++ 制作没有 Window 的 C++ 程序 运行?

Make a C++ Program Run without a Window Using gcc/g++?

我有一个非常简单的程序;它会一直播放由循环路径定义的单个音频文件,直到程序终止。代码在这里:

#include <windows.h>
#include <mmsystem.h>
#include <iostream>

using namespace std;

int main(void) {
    PlaySound("C:\Users\Ben\Desktop\silence.wav", NULL, SND_LOOP | SND_ASYNC | SND_FILENAME);
    cin.get();
    return 0;
}

程序本身运行良好,但如您所料,它会像任何程序一样生成一个空白控制台 window。但是因为我想让这个程序 运行 在后台并且不可见,我是否可以编写它以便它根本没有 window?我意识到,如果我这样做,唯一的出路就是从流程管理器中结束它,但这很好。另外,我想在 g++ 编译器的代码 only/from 中执行此操作;我尝试阅读有关使用 Visual Studio 执行此操作的信息,但我永远无法让它工作,而且对于这种规模的东西来说,它似乎也确实没有必要。感谢您的任何建议。

int main()
{
  FreeConsole();
  PlaySound(...);
  ...
}

这种程序只能从任务管理器中杀掉。您可能需要考虑设置某种 IPC,以便您可以指示现有实例关闭声音并退出。