📄 project1.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 + -