在vb里怎么用代码写,怎样判断是否已经注册过了
shell  app.path & "BSE.ocx"???

解决方案 »

  1.   

    注册没注册的都再注册一下:
    shell "regsvr32.exe /s " & app.path & "\bse.ocx"
      

  2.   

    regsvr32.exe是32位系统下使用的DLL注册和反注册工具,使用它必须通过命令行的方式使用,格式是:
    regsvr32 [/u] [/s] [/n] [/i[:cmdline]] DLL文件名
    命令可以在“开始→运行”的文本框中,也可以事先在bat批处理文档中编写好命令。未带任何参数是注册DLL文件功能,其它参数对应功能如下:
    /u:反注册DLL文件;
    /s:安静模式(Silent)执行命令,即在成功注册/反注册DLL文件前提下不显示结果提示框。
    /c:控制端口;
    /i:在使用/u反注册时调用DllInstall;
    /n:不调用DllRegisterServer,必须与/i连用。
      

  3.   

    还在吗,每次都注册速度太慢了,对不起,上次没给你分,这么还给你,这段代码是判断是否注册过,看不懂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
      

  4.   

    command1的单击事件中"MSFlexGridLib.MSFlexGrid.1" 什么意思啊,是指控件名吗
      

  5.   

    我把"MSFlexGridLib.MSFlexGrid"换成"BSE.ocx"报错:ActiveX部件不能创建对象,为什么呀