执行dos命令而不显示界面

原创 2004年10月28日 12:40:00
#define EXECDOSCMD "ping www.sohu.com" //可以换成你的命令
BOOL ExecDosCmd()
{
 SECURITY_ATTRIBUTES sa;
 HANDLE hRead,hWrite;
  
 sa.nLength = sizeof(SECURITY_ATTRIBUTES);
 sa.lpSecurityDescriptor = NULL;
 sa.bInheritHandle = TRUE;
 if (!CreatePipe(&hRead,&hWrite,&sa,0))
 {
  return FALSE;
 }
 
 STARTUPINFO si;
 PROCESS_INFORMATION pi;
 si.cb = sizeof(STARTUPINFO);
 GetStartupInfo(&si);
 si.hStdError = hWrite;
 si.hStdOutput = hWrite;
 si.wShowWindow = SW_HIDE;
 si.dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES;
         //关键步骤,CreateProcess函数参数意义请查阅MSDN
 if (!CreateProcess(NULL, EXECDOSCMD
  ,NULL,NULL,TRUE,NULL,NULL,NULL,&si,&pi))
 {  
  return FALSE;
 }
 CloseHandle(hWrite);
 
 char buffer[4096] = {0};
 DWORD bytesRead;
 while (true)
 {
  if (ReadFile(hRead,buffer,4095,&bytesRead,NULL) == NULL)
   break;
  //buffer中就是执行的结果,可以保存到文本,也可以直接输出
                  printf(buffer);
  Sleep(200);
 }  
         return TRUE;
}

后台运行DOS黑窗口的方法(不显示DOS黑窗口)

后台运行DOS
  • diyu122222
  • diyu122222
  • 2017年09月06日 21:17
  • 393

解决system()函数执行命令弹出dos窗口问题

问题描述:使用system()函数执行命令"net start nginx",启动一个windows服务,会弹出一个dos窗口。同时,启动服务的过程比较久,因此不能单纯的采用WinExec()等方式调...
  • u010780613
  • u010780613
  • 2017年02月10日 11:51
  • 1035

执行dos命令,不出现黑色的dos窗口

先准备一个.vbs文件,写好内容: Set ws = CreateObject("Wscript.Shell") ws.run "cmd /c a.bat", vbhide 再准备相应的.bat文...
  • JoeBlackzqq
  • JoeBlackzqq
  • 2013年09月03日 11:32
  • 1289

golang执行时不显示DOS窗口

Using Go Version 1.4.2 以上  go build -ldflags "-H windowsgui"
  • developerqah
  • developerqah
  • 2016年06月29日 19:50
  • 364

启动程序进程不显示程序窗口

工作中遇到的问题。对这种简单的烂大街东西了,百度百科还是蛮好用的。不过对自己解决问题的思路与效率还是满意的。代码如下:void CtestHideDlg::OnBnClickedButton1(){/...
  • enjolras
  • enjolras
  • 2010年11月21日 20:04
  • 622

关掉那可恶的Dos窗口

关掉那可恶的Dos窗口        用过Java的人都知道,每次运行Java程序都要打开一个可恶的Dos窗口,要是能像IE、Office等Windows程序一样运行该多好。也许有人会想到,JBuil...
  • zhvfeng
  • zhvfeng
  • 2003年07月03日 14:17
  • 545

C#调用bat 不显示DOS窗口

今天遇到一个问题,需要调用bat文件,同时不让用户看到DOS窗口。记录下实现过程中遇到的问题,作为一个小提示,以便以后查阅。 C#调用bat文件的程序如下:             System....
  • yaoyaoxingkong
  • yaoyaoxingkong
  • 2013年01月06日 11:18
  • 5674

windows下C/C++调用命令行不显示执行窗口的方法

1. 问题背景 :  使用dos 命令嵌入在C/C++代码中 ,执行时会显示DOS窗口。   2. 嵌入在C/C++代码中的命令行一般有以下几种方式: SellExcute() system() Wi...
  • makenothing
  • makenothing
  • 2013年09月28日 10:38
  • 11207

windows 7 cmd(ms DOS)命令窗口没有滚动条 还原CMD默认设置

一、恢复默认设置:      如果需要还原默认CMD设置,打开注册表(regedit):HKEY_CURRENT_USER\Console\下面所有的项,注意:请不要删除了Console的参数。即可...
  • yytry8
  • yytry8
  • 2012年03月09日 01:01
  • 14041

Golang编译程序从后台运行,不出现dos窗口

golang编译程序从后台运行,不出现dos窗口的方法如下: 配置: go build -ldflags "-H windowsgui" lite IDE配置       菜单 编译→编译配置 ...
  • wangkai_123456
  • wangkai_123456
  • 2017年05月04日 09:59
  • 839
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:执行dos命令而不显示界面
举报原因:
原因补充:

(最多只允许输入30个字)