1
レジストリからREG_SZ値を読み込み、後で使用するために文字列に変換しようとしています。レジストリ値を読み取り、文字列としてキャスト
は、私が言って、しかし
RegistryKey key
ArrayList m = new ArrayList();
if(Environment.is64BitOperatingSystem)
key = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64);
else
key = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32);
if(key != null)
{
object o = key.openSubKey(SOFTWARE\\xx\\yy\\zz).GetValue("Version")
if (o != null)
m.add(o.toString())
}
、私はこれを行う際に、例外がスローされますを使用して、レジストリからそれを読ん
Application:abc.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.InvalidCastException
私がしようとしている方法に問題がありますこのレジストリ値をキャストしますか? 操作して比較するには文字列として必要です。
REG_SZ型のレジストリ変数はありますか? [MSDN](https://msdn.microsoft.com/en-us/library/windows/desktop/ms724884(v = vs.85).aspx) – NtFreX
また、私は 'oが文字列であるとは思わない例外を介して、キャストが失敗した場合は 'null'を返します。あなたの問題は他の場所にある可能性があります(おそらく、バージョンコンストラクタで)?実行中の実際のコードに近い、より良いスタックトレースとコードは、おそらくさらにトラブルシューティングするために必要です。 – gnalck
はい!それは "バージョン"と呼ばれるREG_SZです – Zach