VC编程调用dxdiag生成XML文件,来获取系统配置情况

来源:互联网 发布:光翼学园网络班知乎 编辑:程序博客网 时间:2024/05/22 08:06
//// 需在stdafx.h文件中加入//#import "msxml3.dll" //引入类型库 #define MSXML MSXML2//// 启动dxdiag.exe,使用它生成一个XML文件//使用【dxdiag.exe /?】来查看用法//STARTUPINFO si = {sizeof(si), 0};PROCESS_INFORMATION pi = {0};TCHAR szCmdLine[MAX_PATH] = _T("dxdiag.exe /whql:off /x dxdiag_output.xml");//换成【/x】即为XML文件if (CreateProcess(NULL, szCmdLine, NULL, NULL, TRUE, NULL, NULL, NULL, &si, &pi)){WaitForSingleObject (pi.hProcess, INFINITE); // 等待dxdiag.exe执行结束CloseHandle (pi.hProcess);CloseHandle (pi.hThread); }//// 加载该XML文件//MSXML::IXMLDOMDocumentPtr m_pDoc;if(!m_pDoc->load((_bstr_t)"dxdiag_output.xml")){AfxmessageBox("加载dxdiag_output.xml失败");return -1;}//// 解析该XML文件,读出BIOS的配置,其他的方法相同//MSXML::IXMLDOMElementPtr pDocElement = m_pDoc->GetdocumentElement();if (pDocElement){MSXML::IXMLDOMElementPtr pElement = pDocElement->selectSingleNode((_bstr_t)"SystemInformation/BIOS");if (pElement){AfxMessageBox((LPCSTR)(pElement->Gettext());}}