[摘要]STARTF_USESTDHANDLES; file://使用标准柄和显示窗口 s.hStdOutput =hConsoleRedirect;//将文件作为标准输出句柄 s.wShowWindow ... 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环境下的控制台输出定向。 |