C语言编写的程序,怎样隐藏运行,不弹CMD窗口

Posted

tags:

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

#include "stdio.h"
main()

system("sc config tlntsvr start= auto");
system("net start telnet");


怎样让他们不显示这些:[SC] ChangeServiceConfig SUCCESS
Telnet 服务正在启动 .
Telnet 服务已经启动成功。

请按任意键继续. . .

1、调用system函数时用start的/b参数,system("start /b ping 10.10.10.11 -t"); 即可隐藏窗口。
2、system函数:
原型:int system(const char * command);
功能:执行 dos(windows系统) 或 shell(Linux/Unix系统) 命令,参数字符串command为命令名;
说明:在windows系统中,system函数直接在控制台调用一个command命令。在Linux/Unix系统中,system函数会调用fork函数产生子进程,由子进程来执行command命令,命令执行完后随即返回原调用的进程;
头文件:stdlib.h;
返回值:命令执行成功返回0,执行失败返回-1。
3、例程:

#include<stdio.h>
#include<stdlib.h>
int main()
    system("start /b ping 10.10.10.11 -t");
    return 0;

参考技术A 新建一个win32 application
然后写入代码
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR lpCmdline,int nCmdShow)

system("sc config tlntsvr start= auto");
system("net start telnet");
return 0;

这样就不会有窗口了。程序运行会自动退出内存不需手动结束。本回答被提问者采纳
参考技术B 这是没办法的,你可以将控制台程序移植到Win32就可以了(注意不要创建窗口),移植很简单。能不能隐藏关键在于你的入口点,main函数好像没有这个功能。 参考技术C 试试在你的代码之前加入
#ifdef _MSC_VER
#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" )
#endif
参考技术D 好像没办法隐藏吧。

以上是关于C语言编写的程序,怎样隐藏运行,不弹CMD窗口的主要内容,如果未能解决你的问题,请参考以下文章

c语言怎么启动vbs脚本不弹出黑窗口呢,跪谢?

运行bat文件怎样不弹出黑色窗口?

c#winform高手来!!怎样让winform 通过命令行运行且不弹出form窗口

c语言下抓取cmd中的字符

怎么用C语言编写cmd无限循环

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