首页 > 编程语言 >在C#中使用WMI

在C#中使用WMI

时间:2023-05-12 14:01:28浏览次数:46  
标签:wmiObject return string C# managementObject WMI internal 使用 property

关于WMI的介绍可以参考https://www.cnblogs.com/zhaotianff/p/14764740.html

 

在C#中使用主要用到

ManagementClassManagementObjectSearcher两个类

 

示例代码如下:

 1  internal class WMIHelper
 2     {
 3         internal static string GetWmiProperty(string wmiObject,string propertyName)
 4         {
 5             ManagementClass managementClass = new ManagementClass(wmiObject);
 6             ManagementObjectCollection moc = managementClass.GetInstances();
 7 
 8             foreach (ManagementObject managementObject in moc)
 9             {
10                 return managementObject[propertyName].ToString();
11             }
12             return "";
13         }
14 
15         internal static Dictionary<string,string> GetAllWmiProperty(string wmiObject)
16         {
17             Dictionary<string, string> dic = new Dictionary<string, string>();
18             ManagementObjectSearcher managementObjectSearcher = new ManagementObjectSearcher("select * from " + wmiObject);
19 
20             foreach (ManagementObject managementObject in managementObjectSearcher.Get())
21             {
22                 foreach (PropertyData property in managementObject.Properties)
23                 {
24                     dic.Add(property.Name, property.Value == null ? "" : property.Value.ToString());
25                 }
26             }
27 
28             return dic;
29         }
30     }

 

例如获取CPU ID

1  internal static string GetCpuId()
2         {
3             return WMIHelper.GetWmiProperty("win32_processor", "processorid");
4         }

 

获取CPU所有信息

1 WMIHelper.GetAllWmiProperty("win32_processor");

 

标签:wmiObject,return,string,C#,managementObject,WMI,internal,使用,property
From: https://www.cnblogs.com/zhaotianff/p/17393907.html

相关文章

  • Mitsubishi/三菱Q系列16轴设备 带个4个QD75运行模块,1个QJ71C24通信模块,1个QJ61BT11N
    Mitsubishi/三菱Q系列16轴设备带个4个QD75运行模块,1个QJ71C24通信模块,1个QJ61BT11N三菱CC-Link模块,多个输入输出模块。含三菱的触摸屏和CAD完整电气图.程序带详细完整的注释。包括:1运行流程控制;2完整的报警;3完善的伺服操作系统;4锁机密码;5生产报表程序;6通信程序。对做几年的电气......
  • 解决Tomcat服务器开启时DOS窗口的乱码问题(控制台乱码)
    从tomcat的目录中找:conf->logging.properties,用记事本打开,找到如下信息: 将UTF-8改为GBK(WIndows的命令窗口采用GBK的编码方式)......
  • 松下6轴程序模板 1:plc采用FP-XHC60T ,标准可带6轴程序。 2
    松下6轴程序模板1:plc采用FP-XHC60T,标准可带6轴程序。2:昆仑通态触摸屏程序(触摸屏附带配方功能,以及产能统计:)3:项目各种功能完整。该程序为标准框架,a.故障,b.复位,c.自动,d.手动,e.通讯,f.轴控制模块,g.以及与视觉通讯功能,轴定位采用数据表定位模式,程序结构清晰,构架适用三菱,西门子,欧......
  • IOC相关内容
    IOC相关内容通过前面两个案例,我们已经学习了bean如何定义配置,DI如何定义配置以及容器对象如何获取的内容,接下来主要是把这三块内容展开进行详细的讲解,深入的学习下这三部分的内容,首先是bean基础配置。1、bean基础配置对于bean的配置中,主要会讲解bean基础配置,bean的别名配置,b......
  • 切条机切带机中达优控定长送料触摸屏一体机程序 超声切带和热切都可以通用 触摸屏
    切条机切带机中达优控定长送料触摸屏一体机程序超声切带和热切都可以通用触摸屏软件一起发,PLC用三菱软件送料方式可选,切长的用夹手加滚筒送料,切短的用滚筒送料,切带长度任意调整,可以设定产量,切完自动停机。在用设备两轴带点动定位程序。学习也可以ID:2315658240622712......
  • 双头双Y自动锁螺丝机带压壳和下料机械手程序,采用显控触摸屏和台达PLC,用PLC做配方保存
    双头双Y自动锁螺丝机带压壳和下料机械手程序,采用显控触摸屏和台达PLC,用PLC做配方保存产品参数。单独用可以做三轴带下料机械手螺丝机,连机用便是双头双Y待下架机械手自动锁螺丝。下料机械手是横向的,即只用一个电机,左边打就去左边取,右边打就去右边取。卸料位置统一在同一个地方。可......
  • 西门子1200plc轴运动控制程序模板 介绍:此程序是之前给海康
    西门子1200plc轴运动控制程序模板介绍:此程序是之前给海康威视做的一台装路由器壳子的机器。程序有以下:1):调用轴控制块做的控制3个伺服,2):1个电缸,3):用PUTGET块与上下游plc通讯,4):轴控制块5):气缸报警块6):完整的电路图7):威纶通触摸屏程序8):IO表程序块已经在很多个项目上成熟应用,可......
  • VMware Aria Automation Orchestrator 8.12 - 现代工作流程自动化平台
    VMwareAriaAutomationOrchestrator8.12-现代工作流程自动化平台请访问原文链接:https://sysin.org/blog/vmware-aria-automation-orchestrator/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org现代工作流程自动化平台VMwareAriaAutomationOrchestratorVMwar......
  • .Net Core Mvc 2. VS2022 + Core6.0 + Mvc 添加控制器
    Controllers控制器 我们的控制器都放在Controllers文件夹在项目的Controllers文件夹上右键添加,选择控制器(空白),添加一个HelloWorldController的控制器。在控制器中添加一个新的action,起名叫WelcomepublicstringWelcome(){return"thisis......
  • VMware Aria Automation Config 8.12 - Aria Automation 的软件配置管理与安全性
    VMwareAriaAutomationConfig8.12-AriaAutomation的软件配置管理与安全性请访问原文链接:https://sysin.org/blog/vmware-aria-automation-config/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgAriaAutomation的软件配置管理与安全性AriaAutomationConfi......