dotnet 通过 WMI 拿到显卡信息

2023-10-20 10:59
文章标签 信息 显卡 拿到 dotnet wmi

本文主要是介绍dotnet 通过 WMI 拿到显卡信息,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文告诉大家如何通过 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\igd10iumd64.dll,C:\WINDOWS\System32\DriverStore\FileRepository\igdlh64.inf_amd64_2c92d70c30b8effe\igd10iumd64.dll,C:\WINDOWS\System32\DriverStore\FileRepository\igdlh64.inf_amd64_2c92d70c30b8effe\igd12umd64.dll

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

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

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

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

这篇关于dotnet 通过 WMI 拿到显卡信息的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/246657

相关文章

SpringBoot使用Apache Tika检测敏感信息

《SpringBoot使用ApacheTika检测敏感信息》ApacheTika是一个功能强大的内容分析工具,它能够从多种文件格式中提取文本、元数据以及其他结构化信息,下面我们来看看如何使用Ap... 目录Tika 主要特性1. 多格式支持2. 自动文件类型检测3. 文本和元数据提取4. 支持 OCR(光学

C#实现获取电脑中的端口号和硬件信息

《C#实现获取电脑中的端口号和硬件信息》这篇文章主要为大家详细介绍了C#实现获取电脑中的端口号和硬件信息的相关方法,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 我们经常在使用一个串口软件的时候,发现软件中的端口号并不是普通的COM1,而是带有硬件信息的。那么如果我们使用C#编写软件时候,如

通过C#获取PDF中指定文本或所有文本的字体信息

《通过C#获取PDF中指定文本或所有文本的字体信息》在设计和出版行业中,字体的选择和使用对最终作品的质量有着重要影响,然而,有时我们可能会遇到包含未知字体的PDF文件,这使得我们无法准确地复制或修改文... 目录引言C# 获取PDF中指定文本的字体信息C# 获取PDF文档中用到的所有字体信息引言在设计和出

C#读取本地网络配置信息全攻略分享

《C#读取本地网络配置信息全攻略分享》在当今数字化时代,网络已深度融入我们生活与工作的方方面面,对于软件开发而言,掌握本地计算机的网络配置信息显得尤为关键,而在C#编程的世界里,我们又该如何巧妙地读取... 目录一、引言二、C# 读取本地网络配置信息的基础准备2.1 引入关键命名空间2.2 理解核心类与方法

使用Python检查CPU型号并弹出警告信息

《使用Python检查CPU型号并弹出警告信息》本教程将指导你如何编写一个Python程序,该程序能够在启动时检查计算机的CPU型号,如果检测到CPU型号包含“I3”,则会弹出一个警告窗口,感兴趣的小... 目录教程目标方法一所需库步骤一:安装所需库步骤二:编写python程序步骤三:运行程序注意事项方法二

PostgreSQL如何查询表结构和索引信息

《PostgreSQL如何查询表结构和索引信息》文章介绍了在PostgreSQL中查询表结构和索引信息的几种方法,包括使用`d`元命令、系统数据字典查询以及使用可视化工具DBeaver... 目录前言使用\d元命令查看表字段信息和索引信息通过系统数据字典查询表结构通过系统数据字典查询索引信息查询所有的表名可

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

【北交大信息所AI-Max2】使用方法

BJTU信息所集群AI_MAX2使用方法 使用的前提是预约到相应的算力卡,拥有登录权限的账号密码,一般为导师组共用一个。 有浏览器、ssh工具就可以。 1.新建集群Terminal 浏览器登陆10.126.62.75 (如果是1集群把75改成66) 交互式开发 执行器选Terminal 密码随便设一个(需记住) 工作空间:私有数据、全部文件 加速器选GeForce_RTX_2080_Ti

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

Linux命令(11):系统信息查看命令

系统 # uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue # 查看操作系统版本# cat /proc/cpuinfo # 查看CPU信息# hostname # 查看计算机名# lspci -tv # 列出所有PCI设备# lsusb -tv