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
  • 相关阅读:
    javaScript:制作随机验证码
    XSL简明教程
    javascript判断用户使用的浏览器
    jswindow对象的方法和属性资料
    VBscript操作文件
    终于找到组织了...
    公司网站的物流费用设计
    配置live Writer来发blog
    IIS必备的2个插件
    全国默哀 网站首页都要变成灰色的简单解决办法
  • 原文地址:https://www.cnblogs.com/zeroone/p/3648350.html
Copyright © 2011-2022 走看看