您的位置:首页 > 编程语言

[Windows编程] 利用dxdiag获取用户机器硬件及OS信息

2009-05-19 07:45 609 查看
诊断用户机器上出现的问题的时候,机器的硬件以及OS信息是非常有帮助的。 检查机器上各个硬件信息的代码工作量非常大, 这里介绍一个快速便捷的方法: 利用windows自带工具dxdiag.exe 来生成硬件检测的报告,然后读取报告文件即可。 示例代码如下:

STARTUPINFO si = {sizeof(si), 0};
PROCESS_INFORMATION pi = {0};
TCHAR szCmdLine[MAX_PATH] = _T("dxdiag.exe /whql:off /t dxdiag_output.txt");

if (CreateProcess(
NULL,
szCmdLine,
NULL,
NULL,
TRUE,
NULL,
NULL,
NULL,
&si,
&pi))
{

WaitForSingleObject (pi.hProcess, INFINITE); // 等待dxdiag.exe执行结束
CloseHandle (pi.hProcess);
CloseHandle (pi.hThread);

//读取dxdiag_output.txt  文件,获取用户机器的硬件/OS信息
HANDLE hFile = CreateFile(_T("dxdiag_output.txt"), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if (hFile != INVALID_HANDLE_VALUE)
{
DWORD dwBytesRead = 0;
char szBuffer[BUFFER_SIZE];
ReadFile(hFile, szBuffer, BUFFER_SIZE-1, &dwBytesRead, NULL);

...

}
CloseHandle(hFile);
}
}


>> 原创文章的版权属于作者,转载请注明出处(http://blog.csdn.net/WinGeek/), 谢谢。 <<
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: