當我嘗試列出註冊表值時,它沒有列出所有值。當我在做這樣的:列出註冊表值的問題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
我只得到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上,只有19個是REG_SZ 2 REG_Binary,1個是REG_DWORD。其中3個不是字符串值。換句話說,你的方法是有缺陷的。 –