2011-07-26 31 views
1

我正在開發具有提升信任的Silverlight 4(或者可能是5)OOB應用程序。我知道how to use AutomationFactory to query WMI,但可以查詢HDD序列號等硬件信息嗎?請注意,這是一個提升信任度的OOB應用程序,因此不存在任何安全風險。我要在我的Silverlight應用程序上執行一些激活的東西。使用COM +自動化和WMI查詢硬件信息

編輯:解決!例如,您可以使用以下代碼段查詢主板序列號:

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); 
    } 

在此先感謝。

回答

2

幸運的是,如果你可以在VBScript中做到這一點,那麼你可以用OOB +提升信任來做到這一點。特別是WMI通常由通常用VBScript編寫的管理腳本使用。因此,最好的方法是搜索您想要執行的VBScript示例,然後使用dynamic類型簡單地移植到C#。

+1

謝謝,我完全按照你的說法做了!我用一個例子編輯了我的問題。 –