2011-07-26 11 views
1

私は、信頼性の高いSilverlight 4(または多分5)OOBアプリケーションを開発しています。私はhow to use AutomationFactory to query WMIを知っていますが、HDDのシリアル番号などのハードウェア情報を問い合わせることは可能ですか?これは信頼性の高いOOBアプリであるため、セキュリティ上のリスクはありません。私は私の銀色のアプリでいくつかの活性化のものを実行するつもりです。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

ありがとう、私はあなたが言ったことを正確に行い、それは働いた!私は例を使って質問を編集しました。 –

関連する問題