怎样用vb编写ActiveX dll?

看到问题题目您可能感到很容易,请您接着往下看。我所需要写的ActiveXdll是从一个很小的vbexe转化过来的。我原来写的exe很简单,但是需要调用一个外部dll,整个... 看到问题题目您可能感到很容易,请您接着往下看。
我所需要写的ActiveX dll是从一个很小的vb exe转化过来的。
我原来写的exe很简单,但是需要调用一个外部dll,整个程序就一个子程序组成,子程序运行完整个程序关掉,运行起来一点问题都没有。但是,由于是exe格式,安全性不好,所以想写成一个ActiveX dll文件。
简单的ActiveX dll编写我也会一点,可是需要调用外部dll的ActiveX dll文件就不会了,原来exe文件所加载的两个bas文件还能用吗,当然还有其他需要请教的地方,最好能留下您的联系方式。
展开
 我来答
bater2000
2010-12-15 · TA获得超过1486个赞
知道小有建树答主
回答量:803
采纳率:0%
帮助的人:1070万
展开全部
在调用标准dll与ActiveX dll有本质区别,调用外部标准dll需要用declare声明,而且要知道接口。
既然你在exe里会调用,那么Activex DLL其实就是exe里写一个Class类。不过bas模块里的全局代码是不能作用于Class类的。

因为不知道你的dll接口是什么内容,我就随便用个API代替你的dll接口声明给你个例子。
首先创建一个ActiveX Dll工程,写如下代码:

'声明外部DLL调用接口函数
Private Declare Function SetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal crColor As Long) As Long

'定义一个方法,里面调用外部DLL
Sub mySetPixel(ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal crColor As Long)
SetPixel hdc, x, y, crColor '调用外部DLL
End '调用完外部DLL后,关闭程序
End Sub
接下来把标准dll声明放在Class类的最上部即可,然后写个方法或者属性,并在里面放入调用外部dll的代码。这样其它exe程序就可以引用这个activex dll的 mySetPixel方法,实际上这个方法调用的就是外部dll。

使用起来就简单了,EXE在引用Activex dll后,再写入下面代码:
Dim x As New Class1 '调用activx dll
Private Sub Command1_Click()
Form1.ScaleMode = 3
x.mySetPixel Form1.hdc, 100, 100, RGB(255, 0, 0) '调用这个函数,执行后程序就会关闭
End Sub

嗯,就这么简单便可以搞定!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式