本人开发了一个小软件,主程序中引用了两个已经编译好的OCX控件
现在想实现的目的就是让主程序启动时判断两个控件是否已经注册,如果未注册则将其注册;
在注册方面除了regsvr32 控件名 /s之外,还有什么好的办法吗??各位大虾们帮我

解决方案 »

  1.   

    用Setup Factory 7.0打包时,可以帮你自动注册控件.就算控件已经注册,再注册一次也无妨的.Setup Factory 7.0的注册过程在后台,不会弹出对话框.
      

  2.   

    Option Explicitpublic function IsRegistered(byval 控件名 as string) as boolean
    '其中控件名:OCXLib.ControlName
    dim oCheckup as object
    ' Check whether the activeX control ControlName is installed and registered.
    Set oCheckup = CreateObject(控件名)
    IsRegistered= (Err.Number = 0)
    end functionPrivate Sub Command1_Click()
    If IsRegistered("MSFlexGridLib.MSFlexGrid.1") Then
    MsgBox "MSFlexgrid已注册"
    Else
    MsgBox "MSFlexgrid为注册"
    End IfEnd Sub
      

  3.   

    在注册方面除了regsvr32 控件名 /s之外,还有什么好的办法吗??
    ————————————————————————————————'使用控件的DllRegister 方法也可实现注册
    Private Declare Function DllRegister Lib "MultiHelper.dll" Alias "DllRegisterServer" () As Long
      

  4.   

    使用控件的DllRegister 方法也可实现注册
    Private Declare Function DllRegister Lib "MultiHelper.dll" Alias "DllRegisterServer" () As Long如果我的控件名是BUTTON.ocx的话,这个函数该怎么写?
    是不是这样?
    Private Declare Function regbutton Lib "button.ocx" Alias "DllRegisterServer" () As Long