本文告诉大家如何通过 WMI 拿到显卡信息




如果使用的是 dotnet core 请先引用 Microsoft.Windows.Compatibility 才可以使用 WMI 代码

通过下面的代码可以拿到所有的显卡信息

ManagementObjectSearcher managementObject =
new ManagementObjectSearcher("select * from Win32_VideoController");

因为显卡是可能有很多个,通过这个代码就可以找到所有的显卡

创建一个字符串,收集显卡的指定信息

                var str = new StringBuilder();

                foreach (ManagementObject m in managementObject.Get())
{
foreach (var temp in new[]
{
"AcceleratorCapabilities", //AcceleratorCapabilities --图形和视频控制器的三维阵列的能力
"AdapterCompatibility", //AdapterCompatibility --用于此控制器与系统比较兼容性一般芯片组
"AdapterDACType", //AdapterDACType --姓名或数字 - 模拟转换器(DAC)芯片的标识符
"AdapterRAM", //AdapterRAM --视频适配器的内存大小
"Availability", //Availability --可用性和设备的状态
"CapabilityDescriptions", //CapabilityDescriptions --自由形式字符串提供更详细的解释中的任何加速器能力阵列所指示的视频加速器功能
"Caption", //Caption --对象的简短描述
//ColorTableEntries --尺寸系统的色表
//ConfigManagerErrorCode --Win32的配置管理器错误代码
//ConfigManagerUserConfig --如果为TRUE,该装置是使用用户定义的配置
//CreationClassName --第一个具体类的名称出现在创建实例所使用的继承链
//CurrentBitsPerPixel --使用的比特数以显示每个像素
//CurrentHorizontalResolution --水平像素的当前数量
//CurrentNumberOfColors --在当前的分辨率支持的色彩数目
//CurrentNumberOfColumns --此视频控制器列(如果在字符模式下)编号
//CurrentNumberOfRows --此视频控制器行(如果在字符模式下)编号
//CurrentRefreshRate --频率在该视频控制器刷新监视器的图像
//CurrentScanMode --当前扫描模式
//CurrentVerticalResolution --当前垂直像素数量
//Description --描述
"DeviceID", //DeviceID --该视频控制器标识符(唯一的计算机系统)
//DeviceSpecificPens --目前许多设备专用笔。值0xFFFF表示设备不支持笔。
//DitherType --抖动型视频控制器
"DriverDate", //DriverDate --当前已安装的视频驱动程序的最后修改日期和时间
"DriverVersion", //DriverVersion --视频驱动程序的版本号
//ErrorCleared --如果为真,报上一个错误代码属性中的错误现已清除
//ErrorDescription --可能采取的纠正措施字符串提供有关记录在一个错误代码属性错误的详细信息
//ICMIntent --应使用默认三种可能的配色方法或意图中的一个特定值
//ICMMethod --处理ICM方法。对于非ICM的应用程序,这个属性决定了ICM是否已启用对于ICM的应用程序,系统将检查此属性来确定如何处理ICM支持
//InfFilename --视频适配器的路径.inf文件
//InfSection --Windows的视频信息所在的.inf文件
"InstallDate", //InstallDate --安装的日期
"InstalledDisplayDrivers", //InstalledDisplayDrivers --已安装的显示设备驱动程序的名称
//LastErrorCode --报告的逻辑设备上一个错误代码
//MaxMemorySupported --以字节为单位支持的内存最高限额
//MaxNumberControlled --可支持通过该控制器可直接寻址的实体的最大数量
//MaxRefreshRate --在赫兹视频控制器的最大刷新率
//MinRefreshRate --在赫兹视频控制器的最小刷新率
//Monochrome --如果是TRUE,灰阶用于显示图像。
//Name --标签由该对象是已知的。当子类,该属性可以被覆盖是一个关键属性。
//NumberOfColorPlanes --当前一些颜色平面。如果该值不适用于当前视频的配置,输入0(零)
//NumberOfVideoPages --当前的分辨率和可用内存支持视频页数
//PNPDeviceID --即插即用逻辑设备的播放装置识别符
//PowerManagementCapabilities --逻辑设备的特定功率相关的能力阵列
//PowerManagementSupported --如果为TRUE,该装置可以是电源管理(可以投入挂起模式,等等)
//ProtocolSupported --由控制器使用协议访问“控制”的设备
//ReservedSystemPaletteEntries --系统调色板保留的条目数
//SpecificationVersion --初始化数据规范的版本号(在其上的结构的基础)
//Status --对象的当前状态
//StatusInfo --对象的当前状态详细信息
//SystemCreationClassName --该作用域计算机的创建类别名称属性的值
//SystemName --系统的名称
//SystemPaletteEntries --当前一些系统调色板颜色索引条目
//TimeOfLastReset --该控制器是最后一次复位日期和时间,这可能意味着该控制器被断电或重新初始化
//VideoArchitecture --视频体系结构的类型
//"VideoMemoryType", //VideoMemoryType --显存类型
//VideoMode --当前视频模式
//VideoModeDescription --当前的分辨率,颜色和视频控制器的扫描模式设置
//VideoProcessor --无格式的字符串描述视频处理器
})
{
str.Append(temp);
str.Append(" ");
str.Append(m[temp]?.ToString() ?? "");
str.Append("\n");
}
} return str.ToString();

因为显卡的很多信息都是不需要的,所以就注释了,小伙伴可以拿到自己需要的信息

运行上面的代码大概可以拿到这些信息

AcceleratorCapabilities :
AdapterCompatibility : Intel Corporation
AdapterDACType : Internal
AdapterRAM : 1073741824
Availability : 3
CapabilityDescriptions :
Caption : Intel(R) HD Graphics 530
DeviceID : VideoController1
DriverDate : 20181119000000.000000-000
DriverVersion : 23.20.16.4973
InstallDate :
InstalledDisplayDrivers : C:\WINDOWS\System32\DriverStore\FileRepository\igdlh64.inf_amd64_2c92d70c30b8effe\igdumdim64.
dll,C:\WINDOWS\System32\DriverStore\FileRepository\igdlh64.inf_amd64_2c92d70c30b8effe\igd10iu
md64.dll,C:\WINDOWS\System32\DriverStore\FileRepository\igdlh64.inf_amd64_2c92d70c30b8effe\ig
d10iumd64.dll,C:\WINDOWS\System32\DriverStore\FileRepository\igdlh64.inf_amd64_2c92d70c30b8ef
fe\igd12umd64.dll

通过 Caption 和驱动安装时间就可以知道当前的显卡驱动

我搭建了自己的博客 https://blog.lindexi.com/ 欢迎大家访问,里面有很多新的博客。只有在我看到博客写成熟之后才会放在csdn或博客园,但是一旦发布了就不再更新

如果在博客看到有任何不懂的,欢迎交流,我搭建了 dotnet 职业技术学院 欢迎大家加入


本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系

dotnet 通过 WMI 拿到显卡信息的更多相关文章

  1. 2019-8-31-dotnet-通过-WMI-拿到显卡信息

    title author date CreateTime categories dotnet 通过 WMI 拿到显卡信息 lindexi 2019-08-31 16:55:58 +0800 2019- ...

  2. dotnet 通过 WMI 获取系统安装软件

    本文告诉大家如何通过 WMI 获取系统安装的软件,这个方法不能获取全部的软件 通过 Win32_Product 可以获取系统安装的软件 var mc = "Win32_Product&quo ...

  3. PowerShell 拿到显卡信息

    本文告诉大家如何在 PowerShell 通过 WMI 拿到显卡信息 在 PowerShell 可以使用下面代码拿到显卡的信息 Get-WmiObject Win32_VideoController ...

  4. 2019-7-29-PowerShell-拿到显卡信息

    title author date CreateTime categories PowerShell 拿到显卡信息 lindexi 2019-7-29 10:3:35 +0800 2019-02-21 ...

  5. C#:基于WMI查询USB设备信息 及 Android设备厂商VID列表

    /* ---------------------------------------------------------- 文件名称:WMIUsbQuery.cs 作者:秦建辉 MSN:splashc ...

  6. linux下显卡信息的查看

    lspci  | grep -i vga 这样就可以显示机器上的显卡信息,比如 [root@localhost conf]# lspci | grep -i vga01:00.0 VGA compat ...

  7. windows平台下 c++获取 系统版本 网卡 内存 CPU 硬盘 显卡信息<转>

    GetsysInfo.h: #ifndef _H_GETSYSINFO #define _H_GETSYSINFO #pragma once #include <afxtempl.h> c ...

  8. NVML查询显卡信息

    前段时间做英伟达硬解得时候,显卡总是莫名挂掉,后来发现是因为显卡温度过高掉了.这几天找到CUDA中有NVML工具可以查看显卡信息,nvidia-smi也是基于这个工具包. 使用的CUDA版本为CUDA ...

  9. 通过wmi获取本地硬件信息的一些疑问。

    通过wmi获取本地硬件信息的一些疑问. http://bbs.csdn.net/topics/391017789 http://blog.csdn.net/xcntime/article/detail ...

随机推荐

  1. oracle如何启用审计

    通过数据库初始化参数文件中的AUDIT_TRAIL 初始化参数启用和禁用数据库审计. DB  启用数据库审计并引导所有审计记录到数据库的审计跟踪 OS  启用数据库审计并引导所有审计记录到操作系统的审 ...

  2. python系列之(1)BeautifulSoup的用法

    好久没更新博客了.打算写一个python的爬虫系列及数据分析.falg也不能随便立,以免打脸. python爬取内容,是过程,分析数据是结果,最终得出结论才是目的.python爬虫爬取了内容,一般都是 ...

  3. 如何在“代码”视图中工作并充分利用 Dreamweaver 的编码功能。如 Emmet 缩写

    可通过多种方式在 Dreamweaver 中处理代码. 您可以使用“新建文档”对话框打开新的代码文件,然后开始键入您的代码. 在 Dreamweaver 中创建新的代码文件 键入时,会显示代码提示以帮 ...

  4. Effective C++: 02构造、析构、赋值运算

    05:了解C++默默编写并调用哪些函数 1:一个空类,如果你自己没声明,编译器就会为它声明(编译器版本的)一个copy构造函数.一个copy assignment操作符和一个析构函数.此外如果你没有声 ...

  5. 突然想起一个有趣的问题:FAT32&NTFS?

    在大学的时候老师提过一个有意思的问题4G的程序存储在什么格式以上的电脑? 首先普及一下两种格式的区别 FAT32:此硬盘格式不支持4GB以上大文件,使用32位文件分配表. NTFS:微软最新文件格式, ...

  6. 11-2 css盒模型和浮动以及矢量图用法

    一 盒模型 1属性 width:内容的宽度 height: 内容的高度 padding:内边距,边框到内容的距离 border: 边框,就是指的盒子的宽度 margin:外边距,盒子边框到附近最近盒子 ...

  7. Mysql统计信息处理及binlog解释

    TODO use db_name; -- 分析表 ANALYZE TABLE table_name; -- 查看表信息 ; -- 查看索引 SHOW INDEX FROM table_name; ht ...

  8. Pytest - 使用介绍

    1. 概述 pytest是一个非常成熟的全功能的Python测试框架,主要特点有以下几点: 1.简单灵活,容易上手,文档丰富: 2.支持参数化,可以细粒度地控制要测试的测试用例: 3.能够支持简单的单 ...

  9. CSS3 Box-shadow 阴影效果用法

    一.基本用法: 二.内阴影用法: 三.阴影扩展长度值: box-shadow: 4rpx 4rpx 8rpx #aaa;

  10. Vue打包后放到服务器出现Loading chunk {n} failed 错误

    导航栏点击切换时 会出现Loading chunk {n} failed  ,刷新之后便不会出现.而且n在最新的build的文件中,n没有存在 偶然一次发现,项目更新迭代开发时上传测试环境后就会出现, ...