当前位置: 首页 > news >正文

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

诊断用户机器上出现的问题的时候,机器的硬件以及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/), 谢谢。 <<

相关文章:

  • LeetCode-- Merge Sorted Array
  • LeetCode-- Move Zeroes
  • MS SQL Server:DDL 触发器....
  • LeetCode-- Palindrome Number
  • Crystal Report 水晶报表如何实现类似表格单元格合并的功能
  • LeetCode-- Reverse Linked List II
  • 老牛破车般的CSDN博客
  • LeetCode- Two Sum
  • cognos8 关于密钥的问题
  • LeetCode --Word Break
  • LeetCode--H-Index
  • Leetcode--Lowest Common Ancestor of a Binary Search Tree
  • 参加Tibco的SOA应用及2009 IT架构趋势研讨会记
  • Leet 题目整理归类 - 快速通道 (持续更新)
  • 设计模式的阴谋论
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • Akka系列(七):Actor持久化之Akka persistence
  • create-react-app项目添加less配置
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • JavaScript设计模式系列一:工厂模式
  • JavaScript设计模式与开发实践系列之策略模式
  • Linux后台研发超实用命令总结
  • SpringBoot 实战 (三) | 配置文件详解
  • 创建一种深思熟虑的文化
  • 分布式事物理论与实践
  • 将 Measurements 和 Units 应用到物理学
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 免费小说阅读小程序
  • 如何编写一个可升级的智能合约
  • 为视图添加丝滑的水波纹
  • 再谈express与koa的对比
  • puppet连载22:define用法
  • ​html.parser --- 简单的 HTML 和 XHTML 解析器​
  • ​LeetCode解法汇总518. 零钱兑换 II
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • ###C语言程序设计-----C语言学习(3)#
  • ${ }的特别功能
  • (4)(4.6) Triducer
  • (翻译)Quartz官方教程——第一课:Quartz入门
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (深入.Net平台的软件系统分层开发).第一章.上机练习.20170424
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (五)MySQL的备份及恢复
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)
  • (转) 深度模型优化性能 调参
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • (转)一些感悟
  • (转载)Google Chrome调试JS
  • .NET CF命令行调试器MDbg入门(二) 设备模拟器
  • .net oracle 连接超时_Mysql连接数据库异常汇总【必收藏】