【发布时间】:2011-10-13 01:58:53
【问题描述】:
我正在开发具有更高信任度的 Silverlight 4(或可能 5)OOB 应用程序。我知道how to use AutomationFactory to query WMI,但是可以查询硬盘序列号等硬件信息吗?请注意,这是一个具有较高信任度的 OOB 应用程序,因此不存在安全风险。我将在我的 silverlight 应用程序上执行一些激活操作。
编辑:解决了!例如,您可以使用以下代码 sn -p 查询主板序列号:
using (dynamic SWbemLocator = AutomationFactory.CreateObject("WbemScripting.SWbemLocator"))
{
SWbemLocator.Security_.ImpersonationLevel = 3;
SWbemLocator.Security_.AuthenticationLevel = 4;
dynamic IService = SWbemLocator.ConnectServer(".", @"root\cimv2");
dynamic QueryResults = IService.ExecQuery(
@"SELECT Product, SerialNumber FROM Win32_BaseBoard");
dynamic QueryResult = QueryResults.ItemIndex(0);
string name = QueryResult.Product;
string value = QueryResult.SerialNumber;
MessageBox.Show(name + "\r\n" + value);
}
提前致谢。
【问题讨论】:
标签: silverlight automation wmi com+