怎么将dll封装成ocx,在vb中和怎么调用dll---一个开始学习vb的后学者

发布网友 发布时间:2022-04-26 09:04

我来回答

1个回答

热心网友 时间:2023-10-09 03:33

rem 一般VB 指的是VB6哈 除非指明 VB.NET 不过大同小异了
dll 分很几种, 常见的如输出Win32 API 的是标准C语言的DLL(标准WIN32 API 一般源码有 __stdcall 修饰)
有些是MFC 的DLL,还有资源DLL 等等,比如 shell32.dll 包含很多图标和位图资源

你要把DLL封装为ocx ocx是一种COM组件 也是一种DLL 称为 ActiveX DLL
这种DLL 不像C语言DLL输出函数 而可以输出类 一般便宜程序员属性 API类的DLL 而脚本程序员(开发网站的那些)熟悉ActiveX DLL
ActiveX DLL 需要注册,可以使用 Regsvr32 *.ocx 注册 也可以编写代码动态注册
这些DLL 会输出两个函数 DllRegisterServer 和 DllUnRegisterServer 调用他们分别注册和凡注册

注册以后既可以用里面的类了

VB调用DLL 也要看DLL 的类型
如果是标准C语言DLL 就用 Declare 声明,如调用user32.dll 的GetForegroundWindow
[Public/Private] Declare Function GetForegroundWindow Lib "user32.dll" () As Long

在代码中如 If GetForegroundWindow() <> Me.hWnd Then Me.SetFocus

如果是ActiveX DLL 一般用CreateObject 或者在工程中添加引用
这些比较复杂一点,不过可以举个例子,VB6 默认就引用了 Visual Basic Runtime 也就是 msvbvm60.dll
你才可以使用Form TextBox 这些类来自:求助得到的回答

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com