2016-06-15 10 views
1

別のアプリケーションレジストリ値を読み込もうとしていますが、あまり効果がありません。 Googleで全ページと半分の検索結果を検索しましたが、探しているものが見つかりませんでした。レジストリ値を文字列として返す

私は以下のレジストリ値を読み取るしようとしています

\\HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\AVG CloudCare\DisplayVersion 

典型的な値は次のようになります。

RegistryKey RegInfo = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\AVG CloudCare", false); 

object CCVersionReg = RegInfo.GetValue("DisplayVersion", "0"); 

Console.WriteLine(CCVersionReg); 
Console.ReadLine(); 
:「3.5.3」

私はオンラインで見つけるこのコードを使用しています

しかし、私はいつもエラーが発生します: "オブジェクトリファレンスはオブジェクトのインスタンスに設定されていません。"

私はこのようなオブジェクトを文字列に変換しようとした:

Console.WriteLine(CCVersionReg.ToString); 

これも「『ブール』から 『メソッドグループ』に変換できません、エラーで、動作しません

私はこれを必要とする理由は、私は値を比較する文字列を使用する必要があるアップデータアプリケーションのための知られている最新バージョンとこのバージョンを比較することである。

+0

キーが実際に実行しているマシンに存在することを確認しましたか? – Frecklefoot

+0

サブキー文字列の 'Wow6432Node'部分を忘れてしまったので、' RegInfo'はおそらく 'null'です。 –

答えて

2

この

をお試しください210

ToString()nullオブジェクトで呼び出された場合、それはObject reference not set to an instance of an object

+0

これは多くのおかげでこれが仕事をしました。私が試みていたものよりずっと簡単です! – user2924019

2

あなたのエラー

Console.WriteLine(CCVersionReg.ToString); 

は、そのエラーを投げています。あなたはこれを行うことによって、メソッドを呼び出す必要があります。

Console.WriteLine(CCVersionReg.ToString()); 

(あなたが見ているとして)CCVersionRegがnullの場合しかし、あなたはnull参照の例外が発生します。それが正しく作成されることを確認してください。

+0

多くのありがとう、気づいていなかった私は()を逃した。 – user2924019

関連する問題