2009-05-18 6 views
5

HKEY_LOCAL_MACHINE \ SOFTWARE \ MyCompanyブランチの下にアプリケーション設定が保存されています。異なるユーザーの設定が同じでなければならないため、設定がHKEY_CURRENT_USERになっていない理由があります。レジストリ値はです。アプリケーションの使用中はとなります。VistaのレジストリブランチHKEY_LOCAL_MACHINEを読むには?

さて、Windows Vistaで起因UACに、あなたはもうレジストリの値を読み取るために、次のコードを使用することはできません。

RegistryKey myKey = Registry.LocalMachine.CreateSubKey 
     ("SOFTWARE\\MyCompany\\MyAppName"); 

は、どのように私は私のコード(C#の)にLOCALMACHINE枝から値を読み取ることができますか?

答えて

7

問題は、読んでいないキーを作成しようとしていることです。適切なAPIを使用している場合は、Vista上でHKLMから値を読み取ることができるはずです。

RegistryKey myKey = Registry.LocalMachine.OpenSubKey(
    @"Software\MyCompany\MyAppName", 
    false); 

上記のfalseパラメータに注目してください。これは、読み取り専用モードでキーを開くという効果があります。これはOpenSubKeyのデフォルト設定ですが、私は明示的にすることを好みます(主にデフォルトを思い出すことができないためです)。

関連する問題