zoukankan      html  css  js  c++  java
  • C#:注册组件

    注册flash 为例: 代码比较差 仅供学习参考

            /// <summary>
            ///     注册组件
            /// </summary>
            private static void Registor()
            {
                PrintLog("注册flash");
    #if _RELEASE && !_ORG_MANAGER
                string ver=GetRegistData("CurrentVersion");
                bool flag = true;
                if (ver.Length != 0)
                {
                    string[] vString = ver.Split(',');
                    if (vString.Length == 4)
                    {
                        int major = 0;
                        int minor = 0;
                        int build = 0;
                        int revision = 0;
    
                        int.TryParse(vString[0],out major);
                        int.TryParse(vString[1], out minor);
                        int.TryParse(vString[2], out build);
                        int.TryParse(vString[3], out revision);
    
                        Version v1 = new Version(11, 6, 0, 0);
                        Version v2 = new Version(major, minor, build, revision);
                        if (v2>v1)
                            flag = false;
                    }                          
                }
                if(flag)
                {
                    Registor(@"binFlash32.ocx");      
                }
    #endif
            }
    
    
            private static void Registor(string filename)
            {
                try
                {
                    var fi = new FileInfo(filename);
                    File.Delete(Environment.GetFolderPath(Environment.SpecialFolder.System) + @"" + fi.Name);
                    File.Copy(fi.FullName, Environment.GetFolderPath(Environment.SpecialFolder.System) + @"" + fi.Name);
                }
                catch (Exception ex)
                {
                    PrintException(ex);
                }
    
                try
                {
                    var fi = new FileInfo(filename);
    
                    if (File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.System) + @"" + fi.Name))
                    {
                        var p = new Process();
                        p.StartInfo.FileName = "regsvr32.exe";
                        p.StartInfo.CreateNoWindow = false;
                        p.StartInfo.Arguments = "/s " + Environment.GetFolderPath(Environment.SpecialFolder.System) + @"" +
                                                fi.Name;
                        p.Start();
                    }
                }
                catch (Exception ex)
                {
                    PrintException(ex);
                }
            }
    
    
            private static string GetRegistData(string name)
            {
                string registData = "";
                try
                {
                    RegistryKey hkml = Registry.LocalMachine;
                    RegistryKey software = hkml.OpenSubKey("SOFTWARE", false);
                    RegistryKey aimdir = software.OpenSubKey("Macromedia\Flashplayer", false);
                    registData = aimdir.GetValue(name).ToString();
                }
                catch (Exception)
                {
                }
                return registData;
            }
    View Code
  • 相关阅读:
    小组开发地铁项目
    Qt 编译时遇到 error: [debug/qrc_music.cpp] Error 1
    Qt 使用irrlicht(鬼火)3D引擎
    Qt编译出错:During startup program exited with code 0xc0000135
    Qt 飞机仪表显示
    Qt 在Label上面绘制罗盘
    Qt 播放音频文件
    Git 使用 粗糙记录
    Qt 建立带有子项目的工程
    QSS 的选择器
  • 原文地址:https://www.cnblogs.com/shenchao/p/6211687.html
Copyright © 2011-2022 走看看