首页/技术开发/内容

控制台应用程序的定向输出

技术开发2024-01-30 阅读()
[摘要]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环境下的控制台输出定向。 

第1页  第2页  第3页  第4页 

……

相关阅读