STARTF_USESTDHANDLES;
file://使用标准柄和显示窗口
s.hStdOutput =hConsoleRedirect;//将文件作为标准输出句柄
s.wShowWindow =SW_HIDE;//隐藏控制台窗口
PROCESS_INFORMATION pi={0};
if(CreateProcess(NULL,cmdLine,NULL,NULL,TRUE,NULL,NULL,NULL,&s,&pi)){
file://创建进程,执行Ping程序,测试网络是否连通
WaitForSingleObject(pi.hProcess ,INFINITE);
file://等待进程执行完毕
CloseHandle(pi.hProcess );
CloseHandle(pi.hThread );
file://关闭进程和主线程句柄
}
CloseHandle(hConsoleRedirect);
file://关闭控制台定向输出文件句柄
CFile myFile("c:\\NetStatus.txt",CFile::modeRead );
ASSERT (myFile.m_hFile!=NULL);
char * pszNetStatus=new char[myFile.GetLength ()+1];
ZeroMemory(pszNetStatus,myFile.GetLength ()+1);
myFile.Read (pszNetStatus,myFile.GetLength ());
myFile.Close ();
file://打开文件,把它读到一个字符缓冲区
DeleteFile("c:\\NetStatus.txt");
file://删除临时文件
m_EditNetStatus.SetWindowText (pszNetStatus);
file://把控制台程序输出信息写到编辑框中
delete pszNetStatus;
本程序在Windows XP 环境下 用Microsoft Visual Studio.Net Beta 2调试通过,由于本程序没有使用visual c++ .net任何新的特性,利用上述代码,你完全可以用Visual C++ 6实现Windows2000 和Windows98环境下的控制台输出定向。
……