当前位置:  开发笔记 > 开发工具 > 正文

GCC/C如何隐藏控制台窗口?

如何解决《GCC/C如何隐藏控制台窗口?》经验,为你挑选了1个好方法。

****C newbie alert****如何编译C应用程序以使其在Windows上不显示控制台窗口的情况下运行?我正在使用Windows XP和GCC 3.4.5(mingw-vista special r3).我已经详尽地搜索了这个,我已经提出了以下内容,根据我所读到的内容,听起来应该是这样做的,但不在我的系统上:

#include 
#include 

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
    system("start notepad.exe");
}

我也尝试将"-mwindows"参数传递给GCC无济于事.代码示例启动记事本但仍然闪烁命令提示符.

编辑:FWIW我也试过ShellExecute作为system()的alernative,虽然我很乐意甚至得到一个空的main()或WinMain()工作的应用程序.



1> 小智..:

保留-mwindows标志并使用:

#include 
#include 
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
    execl("c:\\winnt\\system32\\notepad.exe", 0);
    // or: execlp("notepad.exe", 0);
}

注意:您需要execl()呼叫的完整路径,但不需要呼叫execlp().

编辑:简要说明其工作原理 - 使用system()启动一个shell(如cmd.exe)来执行生成控制台窗口的命令.使用execl没有.

推荐阅读
携手相约幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有