vb.net 通过内置资源方式在程序内实现注册控件

之前有用到Teechart控件测试与应用,是在网上下载的,在此也特别感谢他,

他把OCX控件封装到了程序里面,一键注册使用,开启了我的最初的使用,

后面我也一直没有去研究过这类具体要怎样弄,

直到前几天,MERS疫情,待在家中,我需要把现在的程序优化以后,虽然之前那位仁兄做得挺好,

我还是要考虑下我的话怎么封装和释放需要的OCX或DLL等文件,

如图,只是以Teechart为例:

添加资源如下图:

注册代码如下:

 Try
            If xuanzhe_1.Checked = True Then '32bit
                Dim b() As Byte = My.Resources.TeeChart8 '(1._1  '将资源文件转换为Byte()
                Dim s As IO.Stream = File.Create("c:\Windows\System32\TeeChart8.ocx")   '设定文件创建位置
                s.Write(b, 0, b.Length)    '文件写入)
                s.Close()     '关闭文件
                Shell("regsvr32.exe /s """ & "c:\Windows\System32\TeeChart8.ocx", AppWinStyle.NormalFocus)
                MsgBox("注册成功")
            Else
                Dim b() As Byte = My.Resources.TeeChart8 '(1._1  '将资源文件转换为Byte()
                Dim s As IO.Stream = File.Create("c:\Windows\SysWOW64\TeeChart8.ocx")   '设定文件创建位置
                s.Write(b, 0, b.Length)    '文件写入)
                s.Close()     '关闭文件
                Shell("regsvr32.exe /s """ & "c:\Windows\SysWOW64\TeeChart8.ocx", AppWinStyle.NormalFocus)
                MsgBox("x64 注册成功")
            End If
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try

卸载代码如下,注(这里卸载并没有考虑去删除之前释放拷贝到系统下的文件)

Try
            If xuanzhe_1.Checked = True Then '32bit
                Shell("regsvr32.exe /u /s """ & "c:\Windows\System32\TeeChart8.ocx", AppWinStyle.NormalFocus)
                MsgBox("卸载成功")
            Else
                Shell("regsvr32.exe /u /s """ & "c:\Windows\SysWOW64\TeeChart8.ocx", AppWinStyle.NormalFocus)
                MsgBox("x64 卸载成功")
            End If
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try

总图如下,一个单一程序便可以释放并注册想要的东西了:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值