双管道cmd,清空管道怎么办,谢谢

csh_cool 2012-05-15 04:26:25
即是说,传送数据时,连接断开了,而这时管道内还有数据,重连后,cmd还会继续发送管道内的数据,所以想在发送失败时清空管道,而知接退出cmd进程仍存在,请问有那个函数可以清空管道的
。。。。。。。。。。。。。
while (1)
{
WaitForSingleObject(g_hEvent,INFINITE);
WideCharToMultiByte(m,WC_COMPOSITECHECK,buff,-1,cmidbuff,200,NULL,NULL);
strcat(cmidbuff,("\r\n"));
len=strlen(cmidbuff);
ret=WriteFile(hWritePipe2,cmidbuff,len,&lBytesRead,0);
if (!ret)
{
break;
}
Sleep(2000);
DWORD dwRead;
while(1)
{
memset(buf,0,300);
memset(bufff,0,sizeof(bufff));
ret=PeekNamedPipe(hReadPipe1,buf,300,&lBytesRead,0,0);
if (lBytesRead)
{
ret=ReadFile(hReadPipe1,buf,lBytesRead,&dwRead,0);
if (!ret)
{
break;
}
memset((char *)&cmdsend4,0,sizeof(COMMAND));
((DWORD *)cmdsend4.cmdshell)[0]=1;
MultiByteToWideChar(CP_ACP,0,buf,-1,bufff,dwRead);
memcpy(cmdsend4.cmdshell+4,bufff,sizeof(bufff));
cmdsend4.num=NUM;
cmdsend4.order=CMDPIPE;
memset(objname4,0,LENGTH);
memset(threadrecvbuf,0,REVLEN);
base64Encode((char *)&cmdsend4,objname4,sizeof(COMMAND));
rett=SendCgiRequest(objname4,threadrecvbuf);
if (rett!=3)
{
rett=SendCgiRequest(objname4,threadrecvbuf);
if (rett!=3)
{
break;//发送失败,想请空管道内的数据,该怎么办
}
}
Sleep(200);
}
else
{
memset((char *)&cmdsend4,0,sizeof(COMMAND));
((DWORD *)cmdsend4.cmdshell)[0]=0;
cmdsend4.num=NUM;
cmdsend4.order=CMDPIPE;
memset(objname4,0,LENGTH);
memset(threadrecvbuf,0,REVLEN);
base64Encode((char *)&cmdsend4,objname4,sizeof(COMMAND));
rett=SendCgiRequest(objname4,threadrecvbuf);
if (rett!=3)
{
rett=SendCgiRequest(objname4,threadrecvbuf);
if (rett!=3)
{
break;
}
}
break;
}
}
}
...全文
235 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
csh_cool 2012-05-16
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
关闭管道...
[/Quote]
thank you
wyx100 2012-05-15
  • 打赏
  • 举报
回复
关闭管道...
csh_cool 2012-05-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
关闭管道不可以吗
[/Quote]
谢谢热心人
关闭管道的话,对呀,我就一直想着清空,然后用exit退出了,可以直接关掉试试啊
CloseHandle(ProcessInformation.hProcess);
CloseHandle(hReadPipe1);
CloseHandle(hWritePipe1);
CloseHandle(hReadPipe2);
CloseHandle(hWritePipe2);
CloseHandle(g_hEvent);
谢谢
  • 打赏
  • 举报
回复
关闭管道不可以吗
csh_cool 2012-05-15
  • 打赏
  • 举报
回复
咦,芝麻来人

15,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧