当前位置:首页 » 操作系统 » vbdll源码

vbdll源码

发布时间: 2022-09-25 12:19:42

❶ VB 怎么编写DLL

编写API类型的DLL请看我后面的哪个文章,不明白的可以网络HI我,我实验成功了

1-4问题,原因是ActiveX DLL 本质是一个控件,所以你使用它就必须像使用控件一样引用,才可以

5、可以,但是这样DLL很难封装API一类的函数,有点类似于自定义控件的效果。

6、可以,见下面的文章

怎样用VB编写.DLL动态链接库文件

VB中创建的DLL只是COM组件,无法作为输出函数的DLL,其实这只是个错误的说法。其实MS非常狡猾,如果你是个VB疯狂发烧友的话,应该早就狂试出这种可以创建输出函数的DLL的方法。
VB编译文件实际上采取了两次编译的方法,首先是调用C2.exe产生*.OBJ文件,然后调用Link.EXE连接。如果在LINK的时候添加EXPORT选项,实际上是可以输出函数的。但是,在VB的工程选项中将这些屏蔽了。而且过分的是:VB在Build完成后会将OBJ文件删除,这样就无法手动通过Link来创建我们需要的DLL了。不过我找到一个比较龌鹾的变通的方法,就是先创建一个Exe工程,在Form_Load事件里面写下面的语句:

Sub Main
If MsgBox("哈哈", vbOKCancel) = vbOK Then
Shell "link2.exe " & Command$
End If
End Sub

然后编译为LinkTemp.EXE,接下来将LINK.EXE改名为Link2.exe,将LinkTemp.EXE改名为Link.EXE。这样在VB调用Link.EXE时会弹出对话框,处理就会中断。这时就可以有机会将OBJ文件拷贝出来了。
然后我创建了一个ActiveX DLL工程,在这个工程里面添加一个Mole并创建一个Public函数mathadd:

Public Function mathadd(ByVal a As Long, ByVal b As Long) As Long
mathadd = a + b
End Function

编译这个工程,在Link的时候就会中断。然后把创建的Class1.obj、Mole1.obj、Project1.obj备份出来。
然后就可以调用Link2.exe连接OBJ到DLL了,我的连接代码是:

Link2.exe "e:\vbdll\Class1.obj" "e:\vbdll\Mole1.obj" "e:\vbdll\Project1.obj" "E:\Program Files\Microsoft Visual Studio\VB98\VBAEXE6.LIB" /ENTRY:__vbaS /EXPORT:mathadd /OUT:"e:\vbdll\ProjectOK.dll" /BASE:0x11000000 /SUBSYSTEM:WINDOWS,4.0 /VERSION:1.0 /Dll /INCREMENTAL:NO /OPT:REF /MERGE:.rdata=.text /IGNORE:4078

注意里面的/ENTRY和/EXPORT开关,/EXPORT开关声明了输出函数mathadd。这样就大功告成了,可以被其他语言引入,例如在VB中,只需要:

Private Declare Function mathadd Lib "e:\vbdll\ProjectOK.dll" (ByVal a As Long, ByVal b As Long) As Long

❷ 怎样用VB编写标准dll

1、首先创建一个DLL工程,如图:

❸ asp 调用vb写的dll文件(源代码)

假设dll文件和asp代码文件在同一目录以下是调用代码
<%
Dim uploadPath
Dim objUpload
set objUpload = Server.CreateObject("dll文件名.类名")
uploadPath = Server.MapPath("/")
if Request.ServerVariables("Request_Method")<>"GET" then
objUpload.UploadPath=uploadPath//调用了DLL中的uploadpath方法
objUpload.UploadFlag=2
objUpload.IllegalTypes="asp,php,gif"
objUpload.GetFiles()
objUpload.FileName(0)="rename.txt"
objUpload.UploadFiles()
end if
%>
至于怎么用VB封装DLL,你可以Google一下。

❹ 什么是VB源码

这个词分为两部分来解释。
第一、VB
VB可以是指一种计算机语言,是Visual Basic的缩写,由美国微软公司开发;也可以指用来进行VB语言开发的开发平台,比如MicroSoft Visual Basic 6.0

计算机语言分为最早的也是最基本的机器语言(二进制语言)、低级语言(汇编)、高级语言(VB、C、C++、C#)。其中执行效率最高的是机器语言,它不需要编译可以直接被机器读懂。效率最低的是高级语言,它需要经过编译甚至多次编译才能转变为机器语言。但是高级语言是最接近自然语言的(如:英语),因此被广泛的使用。

第二、源码
类似的,用英语书写的可以用来交流的文字片断叫做文章,那么用VB语言来书写的可以被计算机编译平台理解的文字片断就叫做VB代码了。
那么如果有一个程序,是使用VB语言来写成的,那么这些VB语言就叫做该程序的VB源码

不知道这样解释楼主能不能理解

❺ 求vb编写dll的源代码

希望下面的对你有帮助:
VB一般可以生成两种特殊的DLL,一个是ActiveX DLL和ActiveX Control(*.ocx)。这两种DLL都是VB支持的标准类型,在VB自身的例子中有,你可以参考。更详细的介绍可以参考我写的《Visual Basic编程晋级:ActiveX控件》(http://china.zealsoft.com/articles/vbactivex/)一书的“第十六章 其他ActiveX部件 ”。

NewViewStudio的意见:
VB中创建的DLL只是COM组件,无法作为输出函数的DLL,其实这只是个错误的说法。其实MS非常狡猾,如果你是个VB疯狂发烧友的话,应该早就狂试出这种可以创建输出函数的DLL的方法。
VB编译文件实际上采取了两次编译的方法,首先是调用C2.exe产生*.OBJ文件,然后调用Link.EXE连接。如果在LINK的时候添加EXPORT选项,实际上是可以输出函数的。但是,在VB的工程选项中将这些屏蔽了。而且过分的是:VB在Build完成后会将OBJ文件删除,这样就无法手动通过Link来创建我们需要的DLL了。不过我找到一个比较龌鹾的变通的方法,就是先创建一个Exe工程,在Form_Load事件里面写下面的语句:

Sub Main
If MsgBox("哈哈", vbOKCancel) = vbOK Then
Shell "link2.exe " & Command$
End If
End Sub

然后编译为LinkTemp.EXE,接下来将LINK.EXE改名为Link2.exe,将LinkTemp.EXE改名为Link.EXE。这样在VB调用Link.EXE时会弹出对话框,处理就会中断。这时就可以有机会将OBJ文件拷贝出来了。
然后我创建了一个ActiveX DLL工程,在这个工程里面添加一个Mole并创建一个Public函数mathadd:

Public Function mathadd(ByVal a As Long, ByVal b As Long) As Long
mathadd = a + b
End Function

编译这个工程,在Link的时候就会中断。然后把创建的Class1.obj、Mole1.obj、Project1.obj备份出来。
然后就可以调用Link2.exe连接OBJ到DLL了,我的连接代码是:

Link2.exe "e:\vbdll\Class1.obj" "e:\vbdll\Mole1.obj" "e:\vbdll\Project1.obj" "E:\Program Files\Microsoft Visual Studio\VB98\VBAEXE6.LIB" /ENTRY:__vbaS /EXPORT:mathadd /OUT:"e:\vbdll\ProjectOK.dll" /BASE:0x11000000 /SUBSYSTEM:WINDOWS,4.0 /VERSION:1.0 /Dll /INCREMENTAL:NO /OPT:REF /MERGE:.rdata=.text /IGNORE:4078

注意里面的/ENTRY和/EXPORT开关,/EXPORT开关声明了输出函数mathadd。这样就大功告成了,可以被其他语言引入,例如在VB中,只需要:

Private Declare Function mathadd Lib "e:\vbdll\ProjectOK.dll" (ByVal a As Long, ByVal b As Long) As Long

主持人注:
1)更详细地说明,可以参考Ron Petrusha写的Creating a Windows DLL with Visual Basic(http://www.windowsdevcenter.com/pub/a/windows/2005/04/26/create_dll.html?page=1)
2)这里有一个中文例子vbmakedll.zip。

老牛的意见:
同意楼上NewViewStudio的意见——经过变通,VB可以做出输出函数的标准动态链接库——其实,国外早已经有人做出了在VB中制作标准DLL的Add-Ins了,使用非常方便,我也做过测试,证明确实可行。详情请看这里:
http://www.Planet-Source-Code.com/vb/scripts/ShowCode.asp?txtCodeId=54190&lngWId=1

❻ VB编写的DLL插件,想知道源码或者反编译,应该怎么做高分求教!

可以反编译,但反编译后的代码能够重新使用的几乎没有,最多只能搞出一些代码片段来。
在这里回答问题的大多数本身就是程序员,反编译是我们最忌讳的事,这是砸我们的饭碗啊。所以你还是就此打住吧,到其他地方悄悄地问。呵呵。。。

❼ VB调用DLL文件,怎么在VB里编写代码,DLL文件有,说明和使用步骤也有,我是菜鸟高手帮忙

VB对API的支持不是直接的,而且是不完全的; 在使用上,Windows的API编写时是假设调用者是C或C++语言,因此VB调用API不是很方便,容易出错。有些数据类型比如char*需要做专门的处理,具体可以网上查资料多试,慢慢地调稳定。

VB中使用API之前,需要先对API进行声明,声明的方法是使用Declare关键字,如:
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
声明了一个名为SendMessage的API函数。许多API的声明可以在API浏览器中找到,而且本文在讲述一个API时也会给出声明,更深入的知识将在以后讲述。
比如你的:extern "C" __declspec( dllexport ) void OpenRelay( int iNum )这个函数,可以声明成:
Public Declare Function OpenRelay Lib "你的dll文件名,放在和程序同一目录下" Alias "OpenRelay" (i As Integer)

把这段声明放在你的程序文件中的最上面,然后,你就可以在程序中调它了,如:
Dim n as Integer
n = 3
call OpenRelay(n)

开始的时候,程序可能不稳定,要多找原因,多试。记得运行前要存盘,因为一出错,可能整个VB就挂了需要重新启动。

❽ 怎么用VB编写DLL

  1. 打开VB,然后先中“ActiveX Dll”工程,然后开始编辑。

  2. 编完后,保存一般是以“.cls”和“.vbw”保存。这时你选择“文件”菜单,弹出下拉框,选中“生成.dll”选项,它就会在上面弹出一个进度条“正在生成.dll文件”。

  3. 生成以后是一个有好象齿轮状的图标。如果你要引用,就开一个“标准EXE”工程,然后在“工程”选项中,单击“引用”。

  4. 找到你刚才的“.dll”的文件名,在前面的复选框中打勾,就可以引用你刚才在那里面写的方法了。

热点内容
内置存储卡可以拆吗 发布:2025-05-18 04:16:35 浏览:333
编译原理课时设置 发布:2025-05-18 04:13:28 浏览:374
linux中进入ip地址服务器 发布:2025-05-18 04:11:21 浏览:610
java用什么软件写 发布:2025-05-18 03:56:19 浏览:31
linux配置vim编译c 发布:2025-05-18 03:55:07 浏览:107
砸百鬼脚本 发布:2025-05-18 03:53:34 浏览:940
安卓手机如何拍视频和苹果一样 发布:2025-05-18 03:40:47 浏览:737
为什么安卓手机连不上苹果7热点 发布:2025-05-18 03:40:13 浏览:802
网卡访问 发布:2025-05-18 03:35:04 浏览:509
接收和发送服务器地址 发布:2025-05-18 03:33:48 浏览:370