如何构造 WMI 查询 [英] How to construct WMI query

查看:33
本文介绍了如何构造 WMI 查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想找到名称以 param1 开头,以 param2 结尾但我的代码不起作用的结果

I'd like to find results that Name starts with param1, and ends with param2 but my code doesn't work

string wmiQuery = string.Format("SELECT CommandLine FROM Win32_Process WHERE Name LIKE '{0}%' AND Name LIKE '%{1}'", param1, param2);
ManagementObjectSearcher searcher = new ManagementObjectSearcher(wmiQuery);
ManagementObjectCollection retObjectCollection = searcher.Get();

怎么了?

比较

string wmiQuery = string.Format("SELECT CommandLine FROM Win32_Process WHERE Name LIKE '{0}%'", param1);

效果很好

推荐答案

试试这个:

string wmiQuery = string.Format("SELECT CommandLine FROM Win32_Process WHERE Name LIKE '{0}%{1}'", param1, param2);

添加一些测试信息:

string wmiQuery = string.Format ( "SELECT Name, ProcessID FROM Win32_Process WHERE Name LIKE '{0}%{1}'", "wpf", ".exe" );

Console.WriteLine ( "Query: {0}", wmiQuery );

ManagementObjectSearcher searcher = new ManagementObjectSearcher ( wmiQuery );
ManagementObjectCollection retObjectCollection = searcher.Get ( );

foreach (ManagementObject retObject in retObjectCollection)
{
    Console.WriteLine ( "[{0}]	Name: {1}", retObject[ "ProcessID" ], retObject["Name"] );
}

输出:

查询:SELECT 名称,ProcessID FROMWin32_Process WHERE 名称 LIKE'wpf%.exe'
[896] 名称:WPFFontCache_v0400.exe

Query: SELECT Name, ProcessID FROM Win32_Process WHERE Name LIKE 'wpf%.exe'
[896] Name: WPFFontCache_v0400.exe

这篇关于如何构造 WMI 查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆