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

简介:
诊断用户机器上出现的问题的时候,机器的硬件以及OS信息是非常有帮助的。 检查机器上各个硬件信息的代码工作量非常大, 这里介绍一个快速便捷的方法: 利用windows自带工具dxdiag.exe 来生成硬件检测的报告,然后读取报告文件即可。 示例代码如下:
view plaincopy to clipboardprint?
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);   
 }   
}


 本文转自 陈本峰 51CTO博客,原文链接:http://blog.51cto.com/wingeek/274057,如需转载请自行联系原作者

相关文章
|
2月前
|
数据安全/隐私保护 虚拟化 Windows
如何在 VM 虚拟机中安装 Windows Server 2012 操作系统保姆级教程(附链接)
如何在 VM 虚拟机中安装 Windows Server 2012 操作系统保姆级教程(附链接)
|
2月前
|
数据安全/隐私保护 虚拟化 Windows
如何在 VM 虚拟机中安装 Windows 7 操作系统保姆级教程(附链接)
如何在 VM 虚拟机中安装 Windows 7 操作系统保姆级教程(附链接)
如何在 VM 虚拟机中安装 Windows 7 操作系统保姆级教程(附链接)
|
2月前
|
数据安全/隐私保护 虚拟化 Windows
如何在 VM 虚拟机中安装 Windows XP 操作系统保姆级教程(附链接)
如何在 VM 虚拟机中安装 Windows XP 操作系统保姆级教程(附链接)
|
3月前
|
存储 安全 Shell
windows 操作系统隐藏文件夹 .ssh 的作用
windows 操作系统隐藏文件夹 .ssh 的作用
63 0
|
3月前
|
项目管理 Windows
Windows 操作系统下命令行工具 tree 的使用方法介绍
Windows 操作系统下命令行工具 tree 的使用方法介绍
69 0
|
3月前
|
弹性计算 运维 安全
阿里云服务器Windows和Linux操作系统区别对比
阿里云服务器Windows和Linux操作系统区别对比,性能有差异吗?有,同配置下Linux性能要优于Windows,但这与阿里云无关,仅仅是linux和windows之间的区别。另外,阿里云提供的windows和linux操作系统均为正版授权,用户不需要额外支付许可费用,如何选择?看用户自己的应用程序情况。
|
8天前
|
API C++ Windows
windows编程入门_链接错误的配置
windows编程入门_链接错误的配置
13 0
|
14天前
|
Docker Windows 容器
Windows Docker Desktop 无法启动 自动退出报错信息为:Docker Desktop -Unexpected WsL error An unexpected error was e
Windows Docker Desktop 无法启动 自动退出报错信息为:Docker Desktop -Unexpected WsL error An unexpected error was e
30 0
|
2月前
|
监控 API 数据库
Python语言Windows操作系统
Python语言Windows操作系统
|
2月前
|
物联网 Windows
安装windows 10操作系统
安装windows 10操作系统
51 1

热门文章

最新文章