Chinaunix首页 | 论坛 | 博客
  • 博客访问: 50541
  • 博文数量: 15
  • 博客积分: 265
  • 博客等级: 二等列兵
  • 技术积分: 130
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-23 17:05
文章分类

全部博文(15)

文章存档

2014年(1)

2013年(3)

2012年(11)

我的朋友

分类: C/C++

2012-09-05 11:23:10


 

点击(此处)折叠或打开

  1. CString strCmd="ipconfig /all"; //使用的cmd命令
  2.         SECURITY_ATTRIBUTES sa;
  3.         HANDLE hRead,hWrite;
  4.         sa.nLength = sizeof(SECURITY_ATTRIBUTES);
  5.         sa.lpSecurityDescriptor = NULL;
  6.         sa.bInheritHandle = TRUE;
  7.         if (!CreatePipe(&hRead,&hWrite,&sa,0)) {
  8.             TRACE0("Error On CreatePipe()\n");
  9.             return 0;
  10.         }
  11.         STARTUPINFO si;
  12.         PROCESS_INFORMATION pi;
  13.         si.cb = sizeof(STARTUPINFO);
  14.         GetStartupInfo(&si);
  15.         si.hStdError = hWrite;
  16.         si.hStdOutput = hWrite;
  17.         si.wShowWindow = SW_HIDE;
  18.         si.dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES;


  19.         if (!CreateProcess(NULL,strCmd.GetBuffer(strCmd.GetLength())
  20.             ,NULL,NULL,TRUE,NULL,NULL,NULL,&si,&pi)) {
  21.                 TRACE0("Error on CreateProcess()\n");
  22.                 return 0;
  23.         }
  24.         if(WaitForSingleObject(pi.hProcess, INFINITE)==WAIT_FAILED)
  25.         {
  26.             TRACE0("Failed!\n");
  27.             return 0;
  28.         }
  29.         CloseHandle(hWrite);

  30.         //char buffer[4096] ={0} ;
  31.         //std::string tmpbuf;
  32.         DWORD filesize=GetFileSize(hRead,NULL);
  33.         char* buffer=new char[filesize+1];
  34.         DWORD bytesRead;
  35.         while(1)
  36.         {
  37.             if(ReadFile(hRead,buffer,4096,&bytesRead,NULL) != NULL) //读取回显内容
  38.             {
  39.                 pDlg->m_Edit1 += buffer;
  40.                 //UpdateData(FALSE);
  41.                 pDlg->PostMessage(WM_UPDATE_INFO);
  42.             }
  43.             else
  44.             {
  45.                 break;
  46.             }
  47.         }


 

阅读(620) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~