zoukankan      html  css  js  c++  java
  • RegisterFunction z

    #region SolidWorks Registration
    [ComRegisterFunctionAttribute]
            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. 
    "" + nl.Message + """);
                    System.Windows.Forms.MessageBox.Show("There was a problem registering this dll: SWattr is null.
    "" + nl.Message + """);
                }
    
                catch (System.Exception e)
                {
                    Console.WriteLine(e.Message);
    
                    System.Windows.Forms.MessageBox.Show("There was a problem registering the function: 
    "" + e.Message + """);
                }
            }
    
    [ComUnregisterFunctionAttribute]
            public static void UnregisterFunction(Type t)
            {
                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() + "}";
                    hklm.DeleteSubKey(keyname);
    
                    keyname = "Software\SolidWorks\AddInsStartup\{" + t.GUID.ToString() + "}";
                    hkcu.DeleteSubKey(keyname);
                }
                catch (System.NullReferenceException nl)
                {
                    Console.WriteLine("There was a problem unregistering this dll: " + nl.Message);
                    System.Windows.Forms.MessageBox.Show("There was a problem unregistering this dll: 
    "" + nl.Message + """);
                }
                catch (System.Exception e)
                {
                    Console.WriteLine("There was a problem unregistering this dll: " + e.Message);
                    System.Windows.Forms.MessageBox.Show("There was a problem unregistering this dll: 
    "" + e.Message + """);
                }
            }
    
            #endregion
  • 相关阅读:
    linux下的crontab定时执行任务命令详解
    494. Target Sum
    347. Top K Frequent Elements
    5. Longest Palindromic Substring
    时间复杂度计算方法
    62. Unique Paths
    54. Spiral Matrix && 59. Spiral Matrix II
    57. Insert Interval
    53. Maximum Subarray
    42.Trapping rain water
  • 原文地址:https://www.cnblogs.com/zeroone/p/3648350.html
Copyright © 2011-2022 走看看