char buf[1995]={0};
tchar aaa[1998]=
                   while(1)
{
ret=PeekNamedPipe(hReadPipe1,buf,1995,&lBytesRead,0,0); 
if (lBytesRead) 

memset(buf,0,1995);
memset(aaa,0,3996);
((DWORD *)but)[0]=CMD_CMDSHELL;
ret=ReadFile(hReadPipe1,buf,lBytesRead,&lBytesRead,0); 
if (!ret)
{
break;

MultiByteToWideChar(CP_ACP,0,buf,-1,aaa,3996);
//显示
Sleep(100);
}
else
{
break;
}
}buf原长1998 在最后出乱码 后来改1995 出 ?   
那里有错呢
不是显示的问题