我写了一个控件SOAVista.ocx,将它复制到system32目录下,在VB6.0中从工程->元件中导入,再放到窗体上.写下如下代码:
Private Sub Command1_Click()
    '控件名.函数名 参数1,参数2
    SOA1.FormShow True, vbModeless
End Sub麻烦的是换台电脑后每写一个程序都得如此手工导入.用shell "regsvr32..."注册也不行.请教可否用API中的loadlibrary,GetProcAddress,CallWindowProc等在程序中动态调用.ocx,如何调用?或者有其他的方法.

解决方案 »

  1.   

    简单的方法,你建一个包含SOAVista.ocx模板,然后保存到VB中
    要用时,直接添加这样的窗体,像“登录”窗体一样
      

  2.   


    你怎么注册的?我做过WINSOCK,通用对话框,LISTVIEW等控件的包含,没有发现你所说的"不能注册"的问题.
      

  3.   

    重新编译SOAVista.ocx,会自动注册
      

  4.   

    我记得以前在试的时侯,重新编译后还要再进去部件里再重新找到这个ocx打勾,因为在你重新编译时这个打勾要先去掉的.
      

  5.   

    loadlibrary默认加载后缀是.dll的文件,
    loadlibraryEx也是这样,如果你非要加载ocx的话,你可以试下,但我的感觉是会报错,将得不到库句柄.
    用第二个加载的时候,第二个参数,选第二个:)!