怎样实现编译出的exe文件不弹出console窗口

这篇文章的主要内容是介绍怎样实现在codeblocks下编译出来的exe文件,双击之后不显示黑框直接执行的问题.

困扰我很久了,最后却发现很简单.

先说明一下需求:

我希望在一段代码里通过WinExec函数调用一个update.exe程序,但每次update.exe被调用时却发现总是会有黑框弹出来.

我的需求就是把黑框隐去.

在这里举例说明该怎么做:

----

update的源代码:

-------

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main()
{
    WinExec("calc.exe ",SW_HIDE);

    Sleep(2000);
    WinExec("cmd.exe /c taskkill /IM calc.exe ",SW_HIDE);
    return 0;
}

------

update源代码很简单,首先调用计算器程序(calc.exe),然后等待2s,然后通过taskkill 杀掉这个进程.

首先,弹出console窗口的情况是这样的:

打开code::blocks, 新建一个C文件,把代码粘进去.

快捷键F9(build and run):

出现以下情况:

 

怎样实现编译出的exe文件不弹出console窗口_第1张图片

可以看到一个console黑框和计算器窗口.

找到生成的test.exe程序,直接双击,效果是一样的,同样有黑框.

那么怎样才能避免console黑框的产生呢?

其实很简单:

首先,打开codeblocks之后新建一个project,分类可以选择Console application.

 

怎样实现编译出的exe文件不弹出console窗口_第2张图片

然后,把上边的代码拷到main.c 文件里.

之后先不要急着编译运行(其实现在直接编译运行的话,还是会有console窗口的),选择project->Properties->Build targets

怎样实现编译出的exe文件不弹出console窗口_第3张图片

选择Release 下Type选项为GUI application

然后点OK,

 

怎样实现编译出的exe文件不弹出console窗口_第4张图片

在编译运行之前,Build target选择Release

这样编译出来的exe可执行文件双击的时候就不会弹出console 窗口了.Enjoy it.微笑

好吧,我承认这篇文章写得很啰嗦,也没有什么理论解释,只是一个小技巧,

希望可以帮到别人,自己做一下记录以后碰上这样的问题就不用纠结了.:)

你可能感兴趣的:(怎样实现编译出的exe文件不弹出console窗口)