::怎么弄都不能读取信息....先把代码放着....
1 #include2 #include 3 int main() 4 { 5 HANDLE read=NULL,write=NULL; 6 SECURITY_ATTRIBUTES ss; 7 STARTUPINFO sa={ 0}; 8 PROCESS_INFORMATION pp={ 0}; 9 char text[]="匿名管道程序测试!";10 DWORD writetext;11 ss.nLength=sizeof(ss);12 ss.lpSecurityDescriptor=NULL;13 ss.bInheritHandle=TRUE;14 if(CreatePipe(&read,&write,&ss,0))15 {16 printf("创建匿名管道成功!\r\n");17 sa.cb=sizeof(sa);18 sa.dwFlags=STARTF_USESHOWWINDOW;19 sa.hStdInput=read;20 sa.hStdOutput=write;21 sa.hStdError=GetStdHandle(STD_ERROR_HANDLE);22 if(::CreateProcess(NULL,"子进程.exe",NULL,NULL,TRUE,0,NULL,NULL,&sa,23 &pp))24 {25 printf("创建子进程成功\r\n");26 WriteFile(write,text,sizeof(text),&writetext,NULL);27 printf("通过匿名管道写入数据成功\r\n");28 }29 else30 {31 printf("创建子程失败\r\n");32 }33 }34 //::Sleep(50000);35 return 0;36 }
1 #include2 #include 3 int main() 4 { 5 HANDLE read=NULL; 6 char text[100]={ 0}; 7 DWORD readtext; 8 read=GetStdHandle(STD_INPUT_HANDLE); 9 if(ReadFile(read,text,100,&readtext,NULL))10 {11 printf("从匿名管道读取的数据是: %s\r\n",text);12 }13 else14 {15 printf("读取失败!\r\n");16 }17 ::Sleep(10000);18 return 0;19 }