2011-12-16 8 views
1

が、私はREG_SZ型の「表示名」データを取得することができます私はUSBSTORレジストリキーからREG_DWORDデータを取得することはできませんWMI RegDwordののgetValueとsetValueの

ManagementScope myScope = new ManagementScope("\\\\" + strComputer + "\\root\\default"); 
ManagementPath mypath = new ManagementPath("StdRegProv"); 
ManagementClass mc = new ManagementClass(myScope, mypath, null); 
ManagementBaseObject inParams = mc.GetMethodParameters("GetStringValue"); 
inParams["sSubKeyName"] = @"SYSTEM\CurrentControlSet\services\USBSTOR"; 
inParams["sValueName"] = "DisplayName"; 
ManagementBaseObject outParams = mc.InvokeMethod("GetStringValue", inParams, null); 
Console.WriteLine(outParams["Type"].ToString()); 

答えて

2

データ型はREG_DWORDである場合は、GetDWORDValueメソッドを使用する必要がありますし、データ型がREG_SZの場合GetStringValue方法:

ManagementBaseObject inParams = mc.GetMethodParameters("GetDWORDValue"); 
inParams["sSubKeyName"] = @"SYSTEM\CurrentControlSet\services\USBSTOR"; 
inParams["sValueName"] = "Type"; 
ManagementBaseObject outParams = mc.InvokeMethod("GetDWORDValue", inParams, null); 
UInt32 uValue = (UInt32)outParams["uValue"]; 
//... 
ManagementBaseObject inParams = mc.GetMethodParameters("GetStringValue"); 
inParams["sSubKeyName"] = @"SYSTEM\CurrentControlSet\services\USBSTOR"; 
inParams["sValueName"] = "DisplayName"; 
ManagementBaseObject outParams = mc.InvokeMethod("GetStringValue", inParams, null); 
string sValue = (string)outParams["sValue"]; 
+0

DimitryG USBのドライバは、私がインストールさaleardyと私はUSBが実行される4に開始値を設定し、それが初めてであれば、それは文句を言わないということが事実である場合は?私はそれを防止したい場合は、ドライバがintalled場合でも、どのメソッドを知っていますか? –

+0

残念ながら、私はあなたにこの質問について正確な答えを与えることはできません。してください[この記事を確認します。](http://support.microsoft.com/kb/823732) – DmitryG

+0

この資料から私は正確な答えをmethe与えることはできませんが、 –

関連する問題