I have try to get AutoCAD's registry key on Windows 7, 8
x64. But I can't do it. Some screens look below...
Pay attention to comments in my code.
// Fragment of common AutoCAD registry key, located in HKLM and HKCU.
static readonly String ParrentAcadRegistryKey = IntPtr.Size == 4 ?
@"SOFTWARE\Wow6432Node\Autodesk\AutoCAD" : @"SOFTWARE\Autodesk\AutoCAD";
RegistryKey regAcad;// AutoCAD registry key at HKLM
try {
// Check for HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD
// parrentRegistry is the Registry.LocalMachine
Boolean software = parrentRegistry.GetSubKeyNames().Contains("SOFTWARE"); // true
if (software) {
RegistryKey rk_1 = parrentRegistry.OpenSubKey("SOFTWARE", false);
Boolean autodesk = rk_1.GetSubKeyNames().Contains("Autodesk"); // true
if (autodesk) {
RegistryKey rk_2 = rk_1.OpenSubKey("Autodesk", false);
Boolean _autocad = rk_2.GetSubKeyNames().Contains("AutoCAD"); // false
Console.WriteLine("_autocad is {0}", _autocad);
}
}
// Check for HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Autodesk\AutoCAD
regAcad = parrentRegistry.OpenSubKey(ParrentAcadRegistryKey, false); // null
Console.WriteLine("regAcad is {0}", regAcad == null ? "null" : "not null");
}
I have got result:
_autocad is False
regAcad is null
Why I can't get necessary registry key for Windows 7, 8
x64? Where is my mistake?