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

        /// <summary>
/// 注册组件
/// </summary>
private static void Registor()
{
PrintLog("注册flash");
#if _RELEASE && !_ORG_MANAGER
string ver=GetRegistData("CurrentVersion");
bool flag = true;
if (ver.Length != )
{
string[] vString = ver.Split(',');
if (vString.Length == )
{
int major = ;
int minor = ;
int build = ;
int revision = ; int.TryParse(vString[],out major);
int.TryParse(vString[], out minor);
int.TryParse(vString[], out build);
int.TryParse(vString[], out revision); Version v1 = new Version(, , , );
Version v2 = new Version(major, minor, build, revision);
if (v2>v1)
flag = false;
}
}
if(flag)
{
Registor(@"bin\Flash32.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;
}

C#:注册组件的更多相关文章

  1. Ioc容器Autofac系列(3)-- 三种注册组件的方式

    简单来说,所谓注册组件,就是注册类并映射为接口,然后根据接口获取对应类,Autofac将被注册的类称为组件. 虽然可像上篇提到的一次性注册程序集中所有类,但AutoFac使用最多的还是单个注册.这种注 ...

  2. VueJs(8)---组件(注册组件)

    组件(注册组件) 一.介绍 组件系统是Vue.js其中一个重要的概念,它提供了一种抽象,让我们可以使用独立可复用的小组件来构建大型应用,任意类型的应用界面都可以抽象为一个组件树 那么什么是组件呢? 组 ...

  3. 为什么VUE注册组件命名时不能用大写的?

    这段时间一直在弄vue,当然也遇到很多问题,这里就来跟大家分享一些注册自定义模板组件的心得 首先"VUE注册组件命名时不能用大写"其实这句话是不对的,但我们很多人开始都觉得是对的, ...

  4. 向Spring容器中注册组件的方法汇总小结

    1.通过xml定义 <bean class=""> <property name="" value=""></ ...

  5. C#:注册组件 (cmd)

    public class ComRegistor { public static string classID = "CLSID\\{479A1AAC-C148-40BB-9868-A977 ...

  6. Vue 全局注册逐渐 和 局部注册组件

    //定义一个名为 button-counter 的新组件 Script: Vue.component('button-counter',{//button-counter 这个是组件的名字 data: ...

  7. vux 全局注册组件

    背景:调试better-scroll的时候进行封装,作为组件来调用: 希望:全局注册组件: 1,在src的main.js下: 这样就可以用了:

  8. [翻译]Component Registration in Script System 在脚本系统中注册组件

    Component Registration in Script System 在脚本系统中注册组件   To refer to our component from a script, the cl ...

  9. Castle Windsor 注册组件

    1.逐个注册组件即对每个接口通过代码指定其实现类,代码: container.Register( Component.For<IMyService>() //接口 .Implemented ...

随机推荐

  1. asp.net identity 3.0.0 在MVC下的基本使用 序言

    本人也尚在学习使用之中,错误之处请大家指正. 开发环境:vs2015 UP1   项目环境:asp.net 4.6.1   模板为:asp.net 5 模板     identity版本为:asp.n ...

  2. tshark 抓包分析

    一,安装#yum install -y wireshark 二.具体使用案例 1.抓取500个包,提取访问的网址打印出来tshark -s 0 -i eth0 -n -f 'tcp dst port ...

  3. hibernate学习(5)——一对多关系表达

    一对多实现 1. 实现类 package com.alice.hibernate02.vo; import java.util.HashSet; import java.util.Set; publi ...

  4. ajax返回json在 IE下,提示打开或保存的解决方法

    Content-type要设置成 text/html 我是用的mvc jquery.form.js 提交的表单. 返回json响应数据. 结果在ie下提示打开或保存,查看保存的内容.就是我返回的jso ...

  5. centos7 mariadb

    闲置已久的空间环境配置忘得差不多了,今天得空整理,重置了磁盘重新搭建环境,首先在CentOS 7.0安装MariaDB的数据库,在这里记录下安装过程,以便以后查看. 1.安装MariaDB 安装命令 ...

  6. 总结:客户端与服务器端使用正则增加URL参数的方法

    先说服务器端的: C#版本 #region URL参数操作 /// <summary> /// URL参数操作 /// </summary> public class UrlP ...

  7. android 生命周期

    引入android生命周期概念来做前端的hash切换页面的思路: 1. page manager来管理多个page(一对多的关系); 2. route:URL <-> Page; 3. P ...

  8. 《阿Q正传》读后感

    kindle大法好. 利用坐车的时间阅读完了鲁迅先生写的<阿Q正传>, 心中感慨良多, 记下等以后翻看这些摸不着的回忆吧. 我没看过实体书版, 电子书版的<阿Q正传>注解很详细 ...

  9. Jquery实现静态切换tab

    1. <div id="tabs"> <ul> <li><a href=</a></li> <li>& ...

  10. Java反射使用技巧

    1. 通过setAccessible关闭安全检查,关闭的目的不是因为访问的field/method是私有的,而且因为关闭后访问公有方法也不会再有安全检查. SomeObject someObject ...