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);
     }
    }

时间: 2025-01-21 02:11:23

Windows编程之利用dxdiag获取用户机器硬件及OS信息的相关文章

脚本-Exchange2013中如何获取用户最末级的OU信息

问题描述 Exchange2013中如何获取用户最末级的OU信息 现在我有个任务,批量改Exchange中用户的部门信息.这个信息其实人员已经在相应的组织单位了,但是在WEB中不能通过组织单位查询相关人员.因为有上万个用户,手工改不现实,哪位高手会相应的命令?求教!! 比如:组织单位是www.csdn.net/XX区域/XX部门/张三,我现在要提取张三所在的"XX部门"这个信息,然后填到张三的部门字段里.

利用jConfig获取XML文件中的配置信息

xml 第一步:下载jConfig:在http://sourceforge.net/里下载最新的jConfig项目包 http://sourceforge.net/project/showfiles.php?group_id=38356&package_id=30 463&release_id=272653,下载最新bin包(我用的是jconfig-bin-v2.8.5.zip) 第二步:解开下载的zip文件,在dist目录下有jconfig.jar(这是项目包):在lib目录下有crim

微信获取用户地理位置信息的原理与步骤_php实例

在微信公众服务号开发需求中经常有获取用户位置信息的功能,通过用户的位置信息,可以做一些地图导航,以及基于LBS的营销活动. 下面通过给大家介绍微信服务号获取用户位置信息的原理与步骤. 原理 1. 位置信息获取流程 2. 位置信息报文 <xml><ToUserName><![CDATA[gh_public_member_account]]></ToUserName> <FromUserName><![CDATA[oNEGGwGfl8f5xME

sql 变量-利用js获取页面用户输入字符串,作为变量进行CQL语句查询

问题描述 利用js获取页面用户输入字符串,作为变量进行CQL语句查询 我用js编写了一个,从页面获取了用户输入的两个字符串,一个作为键,一个作为值,想在js中利用CQL语句进行select * from 表名 where [键名]=值,这样的查询.查询出所有符合条件的查询结果.但是,变量怎样写都不对,换成固定的属性和值,语句就可以运行,求各位大神帮忙!!!! 解决方案 注意变量拼接,不要放到sql语句里面 var field="abc",value="xx" var

Java中使用HttpRequest获取用户真实IP地址_JSP编程

在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid,nginx等反向代理软件就不能获取到客户端的真实IP地址了. 如果使用了反向代理软件,将http://192.168.1.110:2046/ 的URL反向代理为 http://www.jb51.net / 的URL时,用request.getRemoteAddr()方法获取的IP地址是:127.0.0.1 或 192.168.1.110

JSP自定义标签获取用户IP地址的方法_JSP编程

1.编写一个实现tag接口的标签处理器类 复制代码 代码如下: package cn.itcast.web.tag; import java.io.IOException; import javax.servlet.http.HttpServletRequest;import javax.servlet.jsp.JspException;import javax.servlet.jsp.JspWriter;import javax.servlet.jsp.PageContext;import j

编程实战——电影管理器之利用MediaInfo获取高清视频文件的相关信息

随着高速(20M)宽带.HTPC.大容量硬盘(3T)的普及,下载高清片并利用大屏幕观看也成为普通的事情. 随着下载影片的增多,管理就有了问题,有时在茫茫文件夹下找寻一个影片也是一件费时费力的事. 于是萌生了自己编写电影管理器的想法,并逐步逐步在实现.利用博客记录编写的过程,也是和网友之间的交流.期望在交流的过程中,网友能提出一些中肯的意见,使自己少走些弯路.   我在拿到一个高清视频文件时.我希望能有办法获知以下的信息 文件名:视频文件的文件名,这个比较简单,利用FileInfo类就能获得 文件

VB中利用MapX创建用户定制工具

摘要 本文介绍了VB中如何利用MapX创建用户定制地图工具,详细地说明了整个创建过程,以及在创建定制工具的过程中所使用的关键方法. 1.前言 随着地理信息系统的发展,国内外已出现了不少GIS(地理信息系统)软件,其中MapX是MapInfo公司的ActiveX控件产品.由于它是一种基于Windows操作系统的标准控件,因而MapX4.0支持绝大多数标准的可视化开发环境,如:VisualBasic,Delphi,PowerBuilder,VisualC++等面向对象语言,而且可以使用Lotus s

Android使用GPS获取用户地理位置并监听位置变化的方法_Android

本文实例讲述了Android使用GPS获取用户地理位置并监听位置变化的方法.分享给大家供大家参考,具体如下: LocationActivity.java /* LocationActivity.java * @author octobershiner * 2011 7 22 * SE.HIT * 一个演示定位用户的位置并且监听位置变化的代码 * */ package uni.location; import android.app.Activity; import android.content