レジストリ値を一覧表示しようとすると、すべての値が表示されません。私がやっているときのように:レジストリ値を一覧表示する際の問題C#
RegistryKey regKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion");
foreach (string vName in regKey.GetValueNames())
{
Console.WriteLine("Reg values: " + vName);
}
私が得る答えはちょうどこれらです:
Reg values: CurrentVersion
Reg values: CurrentBuild
Reg values: SoftwareType
Reg values: CurrentType
Reg values: InstallDate
Reg values: RegisteredOrganization
Reg values: RegisteredOwner
Reg values: SystemRoot
Reg values: InstallationType
Reg values: EditionID
Reg values: ProductName
Reg values: CurrentBuildNumber
Reg values: BuildLab
Reg values: BuildLabEx
Reg values: BuildGUID
Reg values: CSDBuildNumber
Reg values: PathName
Iのみ取得する17行時に(私がレジストリに見れば)21行。
私は間違っていますか?すべての答えに大変です。
有効なx64またはx86レジストリキーを読んでいるかどうかを確認してください。 http://stackoverflow.com/questions/6304275/c-reading-the-registry-productid-returns-null-in-x86-targeted -app-any-cpu-wo – Chojny
Windows XPでは、REG_SZ 2 REG_BinaryとREG_DWORDは19のうち17個だけです。それらのうち3つは文字列値ではありません。つまり、あなたの方法に欠陥があります。 –