以下代码实现ping的结果重定向到文件,当然也可以通过这种方式获取IP地址,
另外一种获取IP地址的方法就是通过调用gethostbyname函数了.但是命令行
重定向结果的方法提供了一种强有力的工具.
if(::ShellExecute(NULL, "open",
"cmd", "/c ping www.baidu.com>>./tmp.txt", NULL, SW_HIDE)!=0)
{
AfxMessageBox("执行完毕!");
};
// /c参数会关闭结果 /k会suspend结果
}
//读出重定向结果
char fbuf[2048];
memset(fbuf,0,sizeof(fbuf));
CFile file;
//文件写入缓冲缘故,所以这里要不断尝试打开文件,直到打开成功为止
while(file.Open("./tmp.txt",CFile::modeRead)==FALSE){
//这里可以settimer显示为正在打开文件,请稍后,循环完毕killtimer
continue;
}
file.Read(fbuf,sizeof(fbuf));
AfxMessageBox(CString(fbuf));
file.Close();