各位帮我看一下这个问题!!!
kyocn 2002-05-09 06:06:26
有程序 e:\\testabc.exe 运行后在屏幕打印“hello,world!"
现在用一个程序启动它,要使它的输出定向到一个文件test.txt.
程序如下,testabc.exe能够执行,可是执行的结果却无法使输出定
向到文件,为什么呢?
各位大哥,帮我看一下问题出在哪里!
///////
STARTUPINFO stpfo;
PROCESS_INFORMATION pinfo;
/////
HANDLE h;
h=CreateFile("e:\\test.txt",GENERIC_WRITE,0,NULL,
CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
if(h==NULL)
{
MessageBox("error",NULL,MB_OK);
return -1;
}
ZeroMemory(&stpfo,sizeof(STARTUPINFO));
stpfo.cb =sizeof(STARTUPINFO);
stpfo.dwFlags =STARTF_USESTDHANDLES;
stpfo.hStdOutput =h ;
CString strcmd;
strcmd="e:\\testabc.exe";
int ret;
ret=CreateProcess(strcmd,NULL,NULL,NULL,FALSE,
0,NULL,NULL,&stpfo,&pinfo);
if(ret==0)
{
return -1;
}
WaitForSingleObject(pinfo.hProcess ,INFINITE);
CloseHandle(h);