public static void RegisterFunction(Type t) { Type type = typeof(SwAddin); SwAddinAttribute solidworksAttribute = type.GetCustomAttributes(false).OfType <SwAddinAttribute>().Select(attr => attr).FirstOrDefault(); try { RegistryKey hklm = Registry.LocalMachine; RegistryKey hkcu = Registry.CurrentUser; string keyname = "SOFTWARE\\SolidWorks\\Addins\\{" + t.GUID + "}"; RegistryKey addinkey = hklm.CreateSubKey(keyname); addinkey.SetValue(null, 0); addinkey.SetValue("Description", solidworksAttribute.Description); addinkey.SetValue("Title", solidworksAttribute.Title); keyname = "Software\\SolidWorks\\AddInsStartup\\{" + t.GUID + "}"; addinkey = hkcu.CreateSubKey(keyname); addinkey.SetValue(null, Convert.ToInt32(solidworksAttribute.LoadAtStartup), RegistryValueKind.DWord); } catch (NullReferenceException nl) { Console.WriteLine("There was a problem registering this dll: SWattr is null. \n\"" + nl.Message + "\""); MessageBox.Show("There was a problem registering this dll: SWattr is null.\n\"" + nl.Message + "\""); } catch (Exception e) { Console.WriteLine(e.Message); MessageBox.Show("There was a problem registering the function: \n\"" + e.Message + "\""); } }
public static void RegisterFunction(Type t) { #region Get Custom Attribute: SwAddinAttribute SwAddinAttribute SWattr = null; Type type = typeof(SwAddin); foreach (System.Attribute attr in type.GetCustomAttributes(false)) { if (attr is SwAddinAttribute) { SWattr = attr as SwAddinAttribute; break; } } #endregion Microsoft.Win32.RegistryKey hklm = Microsoft.Win32.Registry.LocalMachine; Microsoft.Win32.RegistryKey hkcu = Microsoft.Win32.Registry.CurrentUser; string keyname = "SOFTWARE\\SolidWorks\\Addins\\{" + t.GUID.ToString() + "}"; Microsoft.Win32.RegistryKey addinkey = hklm.CreateSubKey(keyname); addinkey.SetValue(null, 0); addinkey.SetValue("Description", SWattr.Description); addinkey.SetValue("Title", SWattr.Title); keyname = "Software\\SolidWorks\\AddInsStartup\\{" + t.GUID.ToString() + "}"; addinkey = hkcu.CreateSubKey(keyname); addinkey.SetValue(null, Convert.ToInt32(SWattr.LoadAtStartup), Microsoft.Win32.RegistryValueKind.DWord); }
public static void RegisterFunction(Type t) { #region Get Custom Attribute: SwAddinAttribute SwAddinAttribute SWattr = null; Type type = typeof(SwAddin); foreach (System.Attribute attr in type.GetCustomAttributes(false)) { if (attr is SwAddinAttribute) { SWattr = attr as SwAddinAttribute; break; } } #endregion Get Custom Attribute: SwAddinAttribute try { Microsoft.Win32.RegistryKey hklm = Microsoft.Win32.Registry.LocalMachine; Microsoft.Win32.RegistryKey hkcu = Microsoft.Win32.Registry.CurrentUser; string keyname = "SOFTWARE\\SolidWorks\\Addins\\{" + t.GUID.ToString() + "}"; logger.Info("Registering " + keyname); Microsoft.Win32.RegistryKey addinkey = hklm.CreateSubKey(keyname); addinkey.SetValue(null, 0); addinkey.SetValue("Description", SWattr.Description); addinkey.SetValue("Title", SWattr.Title); keyname = "Software\\SolidWorks\\AddInsStartup\\{" + t.GUID.ToString() + "}"; logger.Info("Registering " + keyname); addinkey = hkcu.CreateSubKey(keyname); addinkey.SetValue( null, Convert.ToInt32(SWattr.LoadAtStartup), Microsoft.Win32.RegistryValueKind.DWord); } catch (NullReferenceException nl) { logger.Error("There was a problem registering this dll: SWattr is null. \n\"" + nl.Message + "\"", nl); MessageBox.Show("There was a problem registering this dll: SWattr is null. \n\"" + nl.Message + "\"\nEmail your maintainer with the log file found at " + Logger.GetFileName()); } catch (Exception e) { logger.Error(e.Message); MessageBox.Show("There was a problem registering the function: \n\"" + e.Message + "\"\nEmail your maintainer with the log file found at " + Logger.GetFileName()); } }
public static void RegisterFunction(Type t) { #region Get Custom Attribute: SwAddinAttribute SwAddinAttribute SWattr = null; Type type = typeof(SwAddin); foreach (System.Attribute attr in type.GetCustomAttributes(false)) { if (attr is SwAddinAttribute) { SWattr = attr as SwAddinAttribute; break; } } #endregion try { Microsoft.Win32.RegistryKey hklm = Microsoft.Win32.Registry.LocalMachine; Microsoft.Win32.RegistryKey hkcu = Microsoft.Win32.Registry.CurrentUser; string keyname = "SOFTWARE\\SolidWorks\\Addins\\{" + t.GUID.ToString() + "}"; Microsoft.Win32.RegistryKey addinkey = hklm.CreateSubKey(keyname); addinkey.SetValue(null, 0); addinkey.SetValue("Description", SWattr.Description); addinkey.SetValue("Title", SWattr.Title); keyname = "Software\\SolidWorks\\AddInsStartup\\{" + t.GUID.ToString() + "}"; addinkey = hkcu.CreateSubKey(keyname); addinkey.SetValue(null, Convert.ToInt32(SWattr.LoadAtStartup), Microsoft.Win32.RegistryValueKind.DWord); } catch (System.NullReferenceException nl) { Console.WriteLine("There was a problem registering this dll: SWattr is null. \n\"" + nl.Message + "\""); System.Windows.Forms.MessageBox.Show("There was a problem registering this dll: SWattr is null.\n\"" + nl.Message + "\""); } catch (System.Exception e) { Console.WriteLine(e.Message); System.Windows.Forms.MessageBox.Show("There was a problem registering the function: \n\"" + e.Message + "\""); } }