15,471
社区成员
发帖
与我相关
我的任务
分享
SECURITY_ATTRIBUTES sa;
HANDLE hRead,hWrite;
sa.nLength=sizeof(SECURITY_ATTRIBUTES);
sa.lpSecurityDescriptor=NULL;
sa.bInheritHandle=TRUE;
if(!CreatePipe(&hRead,&hWrite,&sa,0))
{
MessageBox(NULL,L"Error! Pipe",NULL,0);
return -1;
}
STARTUPINFO si;
PROCESS_INFORMATION pi;
si.cb=sizeof(STARTUPINFO);
GetStartupInfo(&si);
si.hStdError=hWrite;
si.hStdOutput=hWrite;
si.wShowWindow=SW_SHOWNORMAL;
si.dwFlags=STARTF_USESHOWWINDOW|STARTF_USESTDHANDLES;
if(!CreateProcess(NULL,L"D:\\My Documents\\Visual Studio 2008\\Projects\\test2\\Debug\\test2.exe",NULL,NULL,FALSE,NULL,NULL,NULL,&si,&pi))
{
MessageBox(NULL,L"Error!",NULL,0);
return -1;
}
CloseHandle(hWrite);
char buffer[4096]={0};
DWORD bytesRead;
while(true)
{
if(ReadFile(hRead,buffer,100,&bytesRead,NULL)==NULL)
break;
//printf("%s ",buffer);
//UpdateData(false);
Sleep(200);
}