获取windows系统信息
在应用程序中,有时需要在界面中显示计算机的硬件信息和进程信息。在.Net中提供了可以查询信息的类。Management类,在程序中添加应用后进行使用。
1 属性
类似的属性介绍可见下面:
属性介绍
根据以上的属性介绍可以查询常见的信息,比如内存,硬件等等。当然在内存信息中还有分类,在上述属性介绍中也有,同样通过代码也是可以获取。
2 编写流程
a 初始化
ManagementClass SystempMeg = new ManagementClass(syetemType);
其中systtemtype就是上面属性介绍:
Win32_Processor:获取cpu信息。
Win32_OperatingSystem:内存信息。等等可以打开上述链接查询
b 获取信息中属性
在内存信息中需要查询可用内存大小和未使用的,所以需要获取属性名称。
可通过程序进行获取,如下:
ManagementObjectSearcher MySearch = new ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem");
SystempMeg.Options.UseAmendedQualifiers = true;
PropertyDataCollection properties = SystempMeg.Properties;
foreach (PropertyData property in properties)
{
WriteMegLog(
"---------------------------------------");
WriteMegLog(property.Name);
WriteMegLog("Description: " + property.Qualifiers["Description"].Value);
}
//c 获取属性值
//在知道有关属性关键词后,下面就是获取属性值
foreach (ManagementObject c in MySearch.Get())
{
WriteMegLog("Value: ");
WriteMegLog(
c.Properties[property.Name.ToString()].Value.ToString());
}
在通过函数获取Mysearch后,再进行查询。为此结束。
3 代码片
ManagementClass SystempMeg;
public SystemMessage (string syetemType)
{
SystempMeg = new ManagementClass(syetemType);
}
public void GetCpuSystemMeg()
{
if (SystempMeg != null)
{
ManagementObjectSearcher MySearch = new ManagementObjectSearcher("SELECT * FROM Win32_Processor");
foreach (ManagementObject MyObject in MySearch.Get())
{
WriteMegLog("CPU处理器系列类型:");
WriteMegLog(MyObject.Properties["Family"].Value.ToString());
WriteMegLog("该处理器的最大速度(以兆赫为单位):");
WriteMegLog(MyObject.Properties["MaxClockSpeed"].Value.ToString());
WriteMegLog("CPU的当前状态为:");
WriteMegLog(MyObject.Properties["CpuStatus"].Value.ToString());
WriteMegLog("CPU处理器的当前速度(以兆赫为单位):");
WriteMegLog(MyObject.Properties["CurrentClockSpeed"].Value.ToString());
}
MySearch.Dispose();
SystempMeg.Dispose(); }
}
4 注意
在获取属性值,有的属性值无法获取,现在还没找到原因,比如获取当前网速。
获取windows系统信息的更多相关文章
- 几个获取Windows系统信息的Delphi程序
1.获取windows版本信息 可以通过Windows API函数GetVersionEx来获得. 具体程序如下: Procedure Tform1.Button1Click(sender:TObje ...
- Python WMI获取Windows系统信息 监控系统
#!/usr/bin/env python # -*- coding: utf-8 -*- #http://www.cnblogs.com/liu-ke/ import wmi import os i ...
- Python WMI获取Windows系统信息
#!/usr/bin/env python # -*- coding: utf-8 -*- #http://www.cnblogs.com/liu-ke/ import wmi import os i ...
- C#获取WINDOWS系统信息
需引用System.Management命名空间, 具体代码如下: public class SysProp { public SysProp() { ManagementObjectSearcher ...
- python使用wmi模块获取windows下的系统信息监控系统-乾颐堂
Python用WMI模块获取Windows系统的硬件信息:硬盘分区.使用情况,内存大小,CPU型号,当前运行的进程,自启动程序及位置,系统的版本等信息. 本文实例讲述了python使用wmi模块获取w ...
- 获取windows 操作系统下的硬件或操作系统信息等
奇怪的工作,制作的是一款办公应用软件,领导却要求我统计用户计算机的物理信息,什么CPU的型号.核心数,什么内存信息等各种乱七八糟的用户信息.我想问,现在用户的信息就这么没有隐私性了么?想获取就获取传递 ...
- 使用C#获取Windows Phone手机的各种数据(转)
转自:http://www.sum16.com/desinger/use-c-sharp-get-windows-phone-information.html 使用C#获取Windows Phone手 ...
- PHP】获取客户端(浏览器)信息、获取客户端系统信息、获取服务器信息
* 获取客户端浏览器信息 * @param null * @author https://blog.jjonline.cn/phptech/168.html * @return string */ f ...
- 通过PowerShell获取Windows系统密码Hash
当你拿到了系统控制权之后如何才能更长的时间内控制已经拿到这台机器呢?作为白帽子,已经在对手防线上撕开一个口子,如果你需要进一步扩大战果,你首先需要做的就是潜伏下来,收集更多的信息便于你判断,便于有更大 ...
随机推荐
- oracle删除用户所有表
在删除数据表的时候往往遇到外键约束无法删除的情况,我们可以通过以下几步将数据库表删除,建议在删除库之前先对数据库进行备份,养成良好习惯. 1.删除外键 --查询用户所有表的外键,owner条件为use ...
- 制作font-icon有感
连日来有些空闲,趁着这闲余时间,我尝试亲自制作一些Font-Icon,让以后可以运用到工作中.但是基于本人水平有限,PS操作只能以非常基础来形容,而AI呢,根本就只会放大操作.在这过程真的非常感谢设计 ...
- Ubuntu 下 安装QQ 截图工具
1.由于ubuntu下是没有dll动态链接库的,所以需要安装一个软件wine,有这个东西之后,以后在ubuntu下就可以运行exe文件了.(wine是一款优秀的Linux系统平台下的模拟器软件,用来将 ...
- 源码编译基于Android平台的XBMC笔记
参考官方网站:https://github.com/xbmc/xbmc/blob/master/docs/README.android 1. 编译主机系统 Ubuntu (12.04) 64Bit ...
- Laravel之路——事务
准备: 表必须是InnoDB引擎 DB::beginTransaction(); try{ $name = 'abc'; $result1 = Test::create(['name'=>$na ...
- sqlserver 字符串处理函数解释
1.ASCII()返回字符表达式最左端字符的ASCII 码值.在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错.2.CHAR()将ASCII ...
- Eclipse插件卸载
以前搞过安卓,重装系统后,安卓损坏了,每次还会提示那个窗口很烦人. 使用Eclipse自带的卸载插件功能即可,Help->About Eclipse->Inst ...
- AWK 简明教程
AWK 简明教程 转自:http://coolshell.cn/articles/9070.html 有一些网友看了前两天的<Linux下应该知道的技巧>希望我能教教他们用awk和sed, ...
- Connect them
zoj3204: 最小生成树,要求最小字典序的解. 用kruscal算法,先排序,输出的时候也要排序. /* zoj3204 解题思路: 赤裸裸的最小生成树.只是要求输出字典序最小的连接方案. 所以在 ...
- 删除数据表和清空数据表的内容(保存表结构)的SHELL脚本
A,删除指定数据库的所有数据表 #!/bin/bash # 删除mysql中所有表 # 示例: # Usage: ./script user password dbnane # Usage: ./sc ...