Chinaunix首页 | 论坛 | 博客
  • 博客访问: 225813
  • 博文数量: 53
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 507
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-22 13:38
文章分类

全部博文(53)

文章存档

2009年(1)

2008年(52)

我的朋友

分类: C/C++

2008-08-27 18:28:37

SECURITY_ATTRIBUTES sa;
HANDLE hRead,hWrite;

sa.nLength = sizeof(SECURITY_ATTRIBUTES);
sa.lpSecurityDescriptor = NULL;
sa.bInheritHandle = TRUE;
if (!CreatePipe(&hRead,&hWrite,&sa,0)) {
MessageBox("Error On CreatePipe()");
return;
}

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;
if (!CreateProcess(NULL,"cmd.exe /c dir /?"
,NULL,NULL,TRUE,NULL,NULL,NULL,&si,&pi)) {
MessageBox("Error on CreateProcess()");
return;
}
CloseHandle(hWrite);

char buffer[4096] = {0};
DWORD bytesRead;
while (true) {
if (ReadFile(hRead,buffer,4095,&bytesRead,NULL) == NULL)
break;
m_Edit1 += buffer;//m_Edit1是CString
UpdateData(false);
Sleep(200);
}           

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