使用gcc / g ++在没有窗口的情况下运行C ++程序?

时间:2017-09-14 04:02:03

标签: c++ windows 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;
}

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

1 个答案:

答案 0 :(得分:1)

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

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