如何使用多个参数调用ManagementObject?

时间:2015-03-16 16:28:53

标签: c# wmi

使用BcdObject获取ManagementObject的正确语法是什么?对于我使用的单个参数:

var obj = new ManagementObject(@"root\WMI", string.Format("BcdObject.Id = '{0}'"), null);

但我不确定如何添加其他参数(是AND,还是,还是其他什么?),例如:

var bcdObj = new ManagementObject(@"root\WMI",
    string.Format("BcdObject.Id = '{0}' AND BcdObject.StoreFilePath = '{1}'",
        "{current}", ""),
    null);

1 个答案:

答案 0 :(得分:1)

这应该是要走的路:

var bcdId = "{current}";
var sfp = "";
var obj = new ManagementObject(
    "root\\WMI:BcdObject.Id=\"" + bcdId + "\",StoreFilePath=\"" + sfp + "\"");

请注意,即使您只是在逗号之后放置一个空格,它也不会起作用。祝你好运!

您可以将过滤器字符串作为构造函数中的第二个参数传递(与原始代码中一样),但适用相同的规则 - 无空格