Delphi通过WMI获取系统信息

原创 2007年11月03日 00:23:00
uses ActiveX, ComObj;

function GetWMIProperty(WMIType, WMIProperty: string): string;
var
  Wmi, Objs, Obj: OleVariant;
  Enum: IEnumVariant;
  C: Cardinal;
begin
  Wmi:= CreateOleObject('WbemScripting.SWbemLocator');
  Objs := Wmi.ConnectServer('.','root/cimv2').ExecQuery('Select * from Win32_' + WMIType);
  Enum := IEnumVariant(IUnknown(Objs._NewEnum));
  Enum.Reset;
  Enum.Next(1, Obj, C);
  Obj := Obj.Properties_.Item(WMIProperty, 0).Value;
  Result := Obj;
end;
 

// 获取硬盘序列号
ShowMessage(GetWMIProperty('DiskDrive', 'PNPDeviceID'));
// 获取BISO序列号
ShowMessage(GetWMIProperty('BIOS', 'SerialNumber'));
// 获取网卡MAC地址
ShowMessage(GetWMIProperty('NetworkAdapter', 'MACAddress'));
// 获取网卡序列号
ShowMessage(GetWMIProperty('NetworkAdapter', 'PNPDeviceID'));
// 获取CPU序列号
ShowMessage(GetWMIProperty('Processor', 'ProcessorId'));

也可以用同样的方法获得任意感兴趣的系统信息,比如正在运行的进程、账户信息等等。

更多WMI的信息参考:
http://www.microsoft.com/whdc/system/pnppwr/wmi/default.mspx
http://msdn2.microsoft.com/en-us/library/aa394572.aspx

delphi操作WMI获取大量系统信息的例子

  • 2012年08月02日 16:07
  • 194KB
  • 下载

Delphi调用WMI读取USB设备的PID和VID

以下代码出自http://blog.csdn.net/hellogv/,引用请注明出处! WMI(Windows®Management Instrumentation ) 非常强大,它可以以数据库的形...
  • hellogv
  • hellogv
  • 2007年07月17日 21:43
  • 10295

Delphi通过WMI等方法获取硬件ID源码

  • 2013年11月15日 23:13
  • 304KB
  • 下载

WMI--Windows API--ConnectServer

原文来自MSDN Library for Visual Studio 2008 SP1,翻译部分仅为个人观点,想要看更多信息请看MSDN,如有版权问题请联系QQ 643166601,邮件6431666...
  • coperator
  • coperator
  • 2013年12月15日 10:29
  • 1191

Delphi 获取硬盘和系统信息(1)

1.GetComputerName - 获取计算机名称 var  arr:array[0..MAX_COMPUTERNAME_LENGTH]of char;   d: DWORD; begi...
  • lailai186
  • lailai186
  • 2013年04月12日 09:48
  • 2002

使用WMI获取硬盘信息

    WMI可以进行的操作很多,想Windows优化大师就有很多操作是通过WMI进行的。在这篇文章中主要是给出一个使用WMI来获取数据的一个范例,如果要获取其他数据,可以先使用WMI studio ...
  • whf727
  • whf727
  • 2009年05月31日 15:14
  • 2268

获取硬件信息的delphi源码(CPUID、操作系统、Mac物理地址、计算机名称、IP地址、用户名)

转载请保留本文链接地址:http://blog.csdn.net/sushengmiyan/article/details/8545673 {----------------------------...
  • sushengmiyan
  • sushengmiyan
  • 2013年01月26日 23:41
  • 10552

Delphi 获取系统信息(1)

1. DELPHI获得系统信息 1. 获得系统本地信息 Windows API中有一个函数GetLocaleInfo可以用来获得系统信息比如系统语言, 货币符号等代码如下: function T...
  • lailai186
  • lailai186
  • 2013年04月10日 15:16
  • 3384

使用Delphi获取系统信息

  • zgqtxwd
  • zgqtxwd
  • 2008年04月30日 21:52
  • 157

Delphi通过WMI获取系统信息

uses ActiveX, ComObj;function GetWMIProperty(WMIType, WMIProperty: string): string;var  Wmi, Objs, O...
  • zoufeiyy
  • zoufeiyy
  • 2007年11月03日 00:23
  • 7931
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Delphi通过WMI获取系统信息
举报原因:
原因补充:

(最多只允许输入30个字)