简单的问题,如何用C++,获取ipconfig执行结果。那位大哥给个例子吧
如题 问题点数:50、回复次数:7Top
1 楼lucymary1982()回复于 2005-06-03 11:25:03 得分 5
帮忙dingTop
2 楼jingyueid(干宁)回复于 2005-06-03 11:31:20 得分 10
ipconfig > test.xx
将ipconfig的输出重定向输出到test.xx文件。
ipconfig | xxx
将ipconfig的输出以管道的方式做为xxx的输入。
重定向和管道,在linux和DOS,WINDOWS上都是支持的。
可以用这些通信方式来捕获输入,供应用程序调用。Top
3 楼xiao_xiao_zi(笑小子)回复于 2005-06-03 11:50:07 得分 10
用VC通过管道获取ipconfig的输出即可Top
4 楼acemeicn()回复于 2005-06-03 12:05:35 得分 0
可否给个例子,用VC实现的Top
5 楼san_huo(煽风点火)回复于 2005-06-03 12:13:00 得分 25
THREADPARAM *para=reinterpret_cast<THREADPARAM*>(lParam);
CCSPTESTERDlg *pThis=para->m_pThis;
SECURITY_ATTRIBUTES sa;
sa.nLength = sizeof(SECURITY_ATTRIBUTES);
sa.lpSecurityDescriptor = NULL;
sa.bInheritHandle = TRUE;
HANDLE hReadpipe,hWritePipe;
if (!CreatePipe(&hReadpipe,&hWritePipe,&sa,0))
{
pThis->AddMessage(_T("Could't create Pipe"),para);
return FALSE;
}
STARTUPINFO si;
memset(&si,0,sizeof(STARTUPINFO));
si.cb=sizeof(STARTUPINFO);
si.dwFlags=STARTF_USESTDHANDLES| STARTF_USESHOWWINDOW;
si.wShowWindow=SW_SHOW;//很多csp都有UI,所以不能hide console window
si.hStdOutput=hWritePipe;
si.hStdError=hWritePipe;
PROCESS_INFORMATION pi;
if (!CreateProcess(NULL,
(char *)para->m_strCmdLine.operator LPCTSTR(),
NULL,
NULL,
TRUE,
0,
NULL,
NULL,
(LPSTARTUPINFOA)&si,
&pi))
{
pThis->AddMessage(_T("Could't Create process!"),para);
return FALSE;
}
DWORD cchReadBuffer;//number of bytes read or to be writen
CString sText;
TCHAR ph[5000];
for(;;)
{
cchReadBuffer=0;
if(PeekNamedPipe(hReadpipe,ph,1,&cchReadBuffer,NULL,NULL))
if(cchReadBuffer)
{
if(!ReadFile(hReadpipe,
ph,
4096,
&cchReadBuffer,//number of bytes actually read
NULL))
break;
ph[cchReadBuffer]=0;
pThis->AddMessage(ph,para);
}
else
if(WaitForSingleObject(pi.hProcess,0)==WAIT_OBJECT_0)
break;
Sleep(100);
}
ph[cchReadBuffer]=0;
pThis->AddMessage(ph,para);
CloseHandle(hReadpipe);
CloseHandle(pi.hThread);
CloseHandle(pi.hProcess);
CloseHandle(hWritePipe);
return 0;
Top
6 楼acemeicn()回复于 2005-06-03 12:34:08 得分 0
请问THREADPARAM,CCSPTESTERDlg,lParam的定义在哪里呀Top
7 楼san_huo(煽风点火)回复于 2005-06-04 15:04:19 得分 0
这个都可以自己定义,可以传进任意32的值Top




