使用GCC/G 进行无窗口的C 程序

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

本文关键字:窗口 程序 GCC 使用      更新时间:2023-10-16

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

#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;
}

程序本身运行良好,但是如您所料,它像任何程序一样生成了空白的控制台窗口。但是,由于我想让这个程序在后台运行并且看不到,所以我是否可以写它,以便它根本没有窗口?我意识到,如果我这样做的唯一途径是从过程经理结束它,但这很好。另外,我只想在G 编译器中/从代码中执行此操作;我尝试通过Visual Studio进行阅读,但我永远无法正常工作,对于这个规模的某些内容似乎也是不必要的。感谢您的建议。

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

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