首页
社区
课程
招聘
[求助]把这几行delphi码给我加个注释行吗
发表于: 2016-3-21 23:50 3787

[求助]把这几行delphi码给我加个注释行吗

2016-3-21 23:50
3787
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;

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 19
活跃值: (32)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
OLE应该和COM是类似的概念, 就是一种能让所有程序都可以使用我的程序的技术.
承载我的程序的方式就是用.dll
一个 CreateOleObject 加一个字符串就可以获得一个对象(类似C++中的对象, 包含数据和操作的东西), 为啥呢? 字符串就是条线索, CreateOleObject函数使用字符串从注册表中找到对应dll(一般是通过 regsvr32 注册到系统中的), 调用dll中的功能, 获得了一个 wmi相关的对象, 所以肯定是操作wmi的.

操作的内容就是 Select * from Win32_' + WMIType 了.
2016-3-22 08:44
0
雪    币: 8
活跃值: (21)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
这都属于高级编程了,我还在API的概念里理解这段代码,错误错误,感谢感谢。
2016-3-22 13:59
0
游客
登录 | 注册 方可回帖
返回
//