2016-08-07 6 views
0

私はコードを使用してWindowsレジストリを変更することができます簡単なプログラムを作ろうとしています。私はコードに管理者権限を提供するアプリケーションマニフェストファイルを追加しようとしましたが、私はC#コンソールアプリケーションを使用してUSBポートをブロックしたい

try 
     { 
      RegistryKey MyKey = Registry.LocalMachine.OpenSubKey("/SYSTEM/CurrentControlSet/Services/USBSTOR", true); 
     //the control jumps to catch after the above line. 
      MyKey.SetValue("Start", "4", RegistryValueKind.DWord); 
      System.Console.WriteLine("Port locked"); 
      System.Console.ReadKey(); 
     }//throws a nullvaluerefrence exception 
     catch 
     { 
      System.Console.WriteLine("There was an error"); 
      System.Console.ReadKey(); 
     } 

答えて

0

MyKey.SetValueには無効なパラメータがあります。 stringintに変換できません。

MyKey.SetValue("Start", "4", RegistryValueKind.DWord); 

変更コードへ:

MyKey.SetValue("Start", 0x4, RegistryValueKind.DWord); 
+0

私はすでにエスケープシーケンスを変更しても同じ結果を得る試してみました。コードはcatchブロックにジャンプします。送信したコードでも同じ結果が得られます。 –

+0

@Hussain_prophetX '' 4 ''を' int'に変換することができないため、作業しました。 –

関連する問題