⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 project1.cpp

📁 网络编程的一些实例
💻 CPP
字号:
#include <stdio.h>
#include <windows.h>
#pragma hdrstop
#include <condefs.h>

//---------------------------------------------------------------------------
#pragma argsused
int main(int argc, char* argv[])
{
 STARTUPINFO myStartup;
 PROCESS_INFORMATION myInfo;
 HANDLE hRead,hWrite,hTmp;
 bool bReturn;
 char readBuf[100];
 DWORD bytesRead=0;

 //创建匿名管道
 if(CreatePipe(&hRead,&hWrite,NULL,0))
   printf("Pipe Created OK .\n");
 else
   printf("Pipe Creation Error:%d\n",GetLastError());

 //获取当前进程的标准输出
 hTmp=GetStdHandle(STD_OUTPUT_HANDLE);
 //把标准输出设置给管道
 SetStdHandle(STD_OUTPUT_HANDLE,hWrite);
 GetStartupInfo(&myStartup);
 bReturn=CreateProcess("d:\\temp\\debug.exe",NULL,NULL,NULL,true,
                       CREATE_NEW_CONSOLE,
                       NULL,NULL,&myStartup,&myInfo);
 SetStdHandle(STD_OUTPUT_HANDLE,hTmp);
 if(bReturn)
   printf("Create Process OK\n");
 else
   printf("CreateProcess error:%u\n",GetLastError());

 CloseHandle(hWrite);
 while(ReadFile(hRead,readBuf,100,&bytesRead,NULL))
   {
    readBuf[bytesRead]='\0';
    printf("Read %d bytes from pipe[%s]\n",bytesRead,readBuf);
   }

 if(GetLastError()==ERROR_BROKEN_PIPE)
   printf("Pipe closed by child process\n");
 else
   printf("Read error:%d\n",GetLastError());

 getchar();
 return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -