`
isiqi
  • 浏览: 16039060 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Get Information about a Process using WMI?【转】

 
阅读更多

uses
ActiveX,WbemScripting_TLB;

functionADsEnumerateNext(pEnumVariant:IEnumVARIANT;cElements:ULONG;
varpvar:OleVARIANT;varpcElementsFetched:ULONG):HRESULT;safecall;external'activeds.dll';

procedureDumpWMI_Process(Process:SWBemObject);
var
Enum:IEnumVARIANT;
varArr:OleVariant;
lNumElements:ULong;
SProp:ISWbemProperty;
Prop:OleVariant;
PropName:string;
PropType:string;
PropValue:string;
begin
Form1.Memo1.Lines.Add('+WMIPath:'+Process.Path_.Path);
Enum:=Process.Properties_._NewEnumasIEnumVariant;
while(Succeeded(ADsEnumerateNext(Enum,1,VarArr,lNumElements)))and
(lNumElements>0)do
begin
if
Succeeded(IDispatch(varArr).QueryInterface(SWBemProperty,SProp))and
Assigned(SProp)then
begin
try
PropName:=SProp.Name;
Prop:=SProp.Get_Value;
PropType:=VarTypeAsText(VarType(Prop));
PropValue:=VarToStr(Prop);
Form1.Memo1.Lines.Add('+'+PropName+'['+PropType+']='+PropValue);
except
on
E:Exceptiondo
begin
//WriteLn(ErrOutput,PropName,':',E.Message);
end;
end;
end;
end;
end;



procedureTForm1.Button1Click(Sender:TObject);
var
Server:string;
Enum:IEnumVARIANT;
varArr:OleVariant;
lNumElements:ULong;
AName:array[0..255]ofChar;
ASize:DWORD;
begin
if
(ParamCount=0)then
begin
Server:='';
ASize:=SizeOf(AName)-1;
ifGetComputerName(@AName,ASize)thenServer:=AName;
end
else
begin
Server:=ParamStr(1);
end;
try
Memo1.Lines.BeginUpdate;
Enum:=CoSWbemLocator.Create.ConnectServer(Server,'root\cimv2','',
'','','',0,nil).ExecQuery('Select*fromWin32_Process','WQL',
wbemFlagBidirectional,nil)._NewEnumasIEnumVariant;
while(Succeeded(ADsEnumerateNext(Enum,1,varArr,lNumElements)))and
(lNumElements>0)do
begin
DumpWMI_Process(IUnknown(varArr)asSWBemObject);
end;
finally
Memo1.Lines.EndUpdate;
end;
end;

{
YouneedtheWbemScripting_TLBunit,whichyoucancreatebyinstallingthetypelibrary
<WindowsSystem32>\wbem\wbemdisp.tlbtypelibraryusingthe"Project|Importtypelibrary"menuoption.
}

分享到:
评论

相关推荐

    C# .NET And The WPF Listview - Using WMI in Async mode to power the Listview.pdf

    异步使用WMI来增强ListView C# .NET And The WPF Listview - Using WMI in Async mode to power the Listview.pdf

    WMI入门教程之怎么使用WMI?

    知道了WMI是什么以后,肯定想要知道如何使用WMI干活。它能写“Hello World”吗?WMI没那么无聊,它一上来就会问你“你想要什么?”或者“你想要更改什么?”。。。 WMI工具  Windows本身提供了几个WMI工具供用户...

    WMI入门教程之什么是WMI?

    WMI出现至今已经二十多年了,但很多人对它并不熟悉。知道它很好很强大,但不知道它从哪里来,怎么工作,使用范围是什么?现在我跟大家说说我的理解。。。  WMI有一组API。我们不管使用VBScript、PowerShell脚本还是...

    Get_IP_address_using_WMI_in_XP源码

    Get_IP_address_using_WMI_in_XP源码,是一个很不错的C++源码,有兴趣的伙伴们抽时间可以看一下把。

    Get_IP_address_EXE_Using_WMI源码

    Get_IP_address_EXE_Using_WMI源码,是一个很不错的C++源码,有兴趣的伙伴们抽时间可以看一下把。

    VBScript, WMI, and ADSI Unleashed - Using VBScript, WMI, and ADSI to Automate Windows Administration

    Sams-VBScript, WMI, and ADSI Unleashed - Using VBScript, WMI, and ADSI to Automate Windows Administration 英文版

    WMI.rar_C# WMI_WMI WIN32_process.z_windows wmi_wmi

    WMI 的一个实现.zip,用C#语言实现,是学习WMI的好例子

    WMI_入门.doc

    什么是 WMI? 快速启动到 WMI 脚本 WMI 体系结构 托管资源 WMI 基础结构 浏览 CIM 就到这里吧

    WMI轻松入门

    什么是WMI?微软有很多说法,大家可以到脚本中心查阅,我这样理解,WMI是一个用于管理Windows系统资源的对象,其内部应是一个树状的数据库,数据库中包含了很多个分支,每个分支被称作命名空间,每个命名空间包含了...

    WMI配置指南与检查工具

    其中含有WMI的配置信息,和常用的检测错误方法,WMI 中的“Instrumentation”特指 WMI 可以获得关于计算机内部状态的信息,这与汽车仪表盘获得并显示引擎的状态信息非常类似。WMI 对磁盘、进程、和其他 Windows 系统...

    修复WMI服务修复WMI服务

    修复WMI服务 修复WMI服务 修复WMI服务

    wmi.rar_C# WMI_windows wmi_wmi_wmi proerties

    WINdows wmi编程 C#实例 里面很清楚的介绍了好几个常见的WMI的查询

    WMI.rar_wmi

    WMI WMI WMI WMI WMI WMI WMI WMI WMI WMI WMI WMI WMI WMI WMI WMI WMI WMI WMI WMI WMI WMI WMI WMI WMI WMI WMI WMI WMI WMI WMI WMI WMI WMI WMI WMI WMI WMI WMI v

    Windows Management Instrumentation(WMI):常见问题

    1:WMI 是什么,它能帮我做什么? 2: WMI 适用于那些平台? 3:如果 WMI 向外界暴露特定的功能,我如何才能知道? 4:如果 WMI 没有提供我想要的功能,我应该怎么办? 5:在哪里可以找到使用 WMI 的示例脚本? ...

    WMI Tools (wmitools)

    官方版WMI tools,系统检测工具。

    MiTeC System Information Component Suite 11.3.0 For D7 破解

    + WMI - complex demo featuring system information overview obtained via WMI + Device Monitor - complex demo featuring TMiTeC_DeviceMonitor component + Bluetooth devices - complex demo featuring ...

    C++之WMI编程

    大家平时在用类似鲁大师之类软件的时候,会看到鲁大师之...所以这个时候就要通过WMI编程来获取硬件信息了。WMI是windows操作系统用来管理软件和硬件的核心。其它的不再多讲了,下面来看最主要的,通过WMI获取硬件信息。

    magwmi56.zip

    Note that WMI may be used to get information from both the local computer and remote computers, the latter needed a valid logon. WMI will only run locally if the Windows Management Instrumentation ...

    WMI VB 中文视频

    WMI VB 中文视频 脚本WMI VB 中文视频 脚本

Global site tag (gtag.js) - Google Analytics