/// <summary>
/// Returns either the value of <c>SystemObjects
/// .DynamicLinker.ProductKey</c>
/// property for AutoCAD older than AutoCAD 2013 or the
/// value of <c>HostApplicationServices.Current
/// .UserRegistryProductRootKey</c> property for
/// AutoCAD 2013 or newer.
/// </summary>
/// <returns>Returns the registry subkey name of the
/// current AutoCAD.</returns>
public static string GetAcadRegistrySubKeyName() {
// Registry subkey name
String subkey_name = string.Empty;
if (cad.Version >= Variables.acad_2013) {
subkey_name = (string) HostApplicationServices
.Current.GetType().InvokeMember(
"UserRegistryProductRootKey",
BindingFlags.Public | BindingFlags
.GetProperty | BindingFlags.Instance, null,
HostApplicationServices.Current, null);
}
else {
subkey_name = (string) SystemObjects
.DynamicLinker.GetType().InvokeMember(
"ProductKey", BindingFlags.Public |
BindingFlags.GetProperty |
BindingFlags.Instance, null,
SystemObjects.DynamicLinker, null);
}
return subkey_name;
}