如何隐藏运行窗口(c语言)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何隐藏运行窗口(c语言)相关的知识,希望对你有一定的参考价值。

编完成1个c语言程序 生成exe后 如何使他的运行窗口不显示,直接在后台运行.

#include <windows.h>

int main(int argc,char *argv[])

ShowWindow(FindWindow("ConsoleWindowClass",argv[0]),0); //查找窗口隐藏自身 ..
return 0;
参考技术A C++:
在顶端加上
#pragma comment (lib,"Urlmon.lib")
#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" )
VC++(MFC):
在任意位置加上
::AfxGetApp()->m_pMainWnd->ShowWindow(FALSE);
参考技术B 把鼠标移动到显示器低部 按右键点属性拦 在点自动隐长任务拦`
就完事
参考技术C 你说的是不显示CMD框吧
我是学C++的
不知道C语言支持不支持

#pragma comment (lib,"Urlmon.lib")
#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" )
int main(int argc, char* argv[])

你自己试试吧
这是个C++的源码

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

【中文标题】GCC/C如何隐藏控制台窗口?【英文标题】:GCC / C how to hide console window? 【发布时间】:2010-10-10 12:21:20 【问题描述】:

****C 新手警告**** 如何编译 C 应用程序,使其在 Windows 上不显示控制台窗口的情况下运行?我正在使用 Windows XP 和 GCC 3.4.5(mingw-vista special r3)。我已经用谷歌搜索了这个,我想出了以下内容,根据我读过的内容,听起来它应该可以解决问题,但在我的系统上没有:

#include <windows.h>
#include <stdlib.h>

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)

    system("start notepad.exe");

我也尝试将“-mwindows”参数传递给 GCC,但无济于事。代码示例会启动记事本,但仍会显示命令提示符。

编辑:FWIW 我也尝试过将 ShellExecute 作为 system() 的替代品,尽管此时我什至很乐意让一个带有空 main() 或 WinMain() 的应用程序正常工作。

【问题讨论】:

【参考方案1】:

保留 -mwindows 标志并使用它:

#include <windows.h>
#include <process.h>
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 不会。

【讨论】:

啊,也感谢您的编辑 - 我认为它是这样的。 (+2 按钮在哪里?;-) 如果使用 execlp(),则不需要完整路径。 Pax:谢谢,这更接近我的需要 :)

以上是关于如何隐藏运行窗口(c语言)的主要内容,如果未能解决你的问题,请参考以下文章

C语言中调用system()函数弹出dos窗口如何隐藏?

c语言能不能将dos窗口隐藏,不是最小化

C语言隐藏窗口

cmd调用gcc编译运行c语言后,c语言会再产生一个窗口显示结果,如何将这些内容显示在cmd命令窗口中?

怎样用C语言隐藏一个应用程序的窗口??

用C语言写的API运行的时候总是先弹出一个命令行窗口,如何让他不弹出来?