在MFC中如何获取C:\命令提示符中输出的反馈信息

热心网友

这个问题我前天还在做呢,经过1个星期的寻找,我找到了,是用window管道技术来做的。voidCDosWindowsDlg::OnButton1(){// ,hWrite;sa。nLength=sizeof(SECURITY_ATTRIBUTES);sa。lpSecurityDescriptor=NULL;sa。bInheritHandle=TRUE;if(!CreatePipe(&hRead,&hWrite,&sa,0)){MessageBox("ErrorOnCreatePipe()");return;}STARTUPINFOsi;PROCESS_INFORMATIONpi;si。cb=sizeof(STARTUPINFO);GetStartupInfo(&si);si。hStdError=hWrite;si。hStdOutput=hWrite;si。wShowWindow=SW_HIDE;si。dwFlags=STARTF_USESHOWWINDOW¦STARTF_USESTDHANDLES;if(!CreateProcess(NULL,"cmd。exe/cdir/?",NULL,NULL,TRUE,NULL,NULL,NULL,&si,&pi)){MessageBox("ErroronCreateProcess()");return;}CloseHandle(hWrite);charbuffer[4096]={0};DWORDbytesRead;while(true){if(ReadFile(hRead,buffer,4095,&bytesRead,NULL)==NULL)break;m_Edit1+=buffer;//m_Edit1是CStringUpdateData(false);Sleep(200);}}。