要
声明一个DLL
过程,首先需要在代码窗口的"通用(General)"部分增加一个Declare语句。如果该过程返回一个值,应将其声明为\x0d\x0aFunction:\x0d\x0aDeclareFunctionpublicnameLib"libname"[Alias"alias"][([[ByVal]variable[Astype][,[ByVal]variable[Astype]]...])]AsType\x0d\x0a如果过程没有返回值,可将其声明为Sub:\x0d\x0aDeclareSubpublicnameLib"libname"[Alias"alias"][([[ByVal]variable[Astype][,[ByVal]variable[Astype]]...])]\x0d\x0a缺省情况下,在标准模块中声明的DLL过程,可以在应用程序的任何地方调用它。在其它类型的模块中定义的DLL过程则是模块私有的,必须在它们前面声明Private关键字,以示区分。下面分别介绍声明语句的各个组成部分。\x0d\x0a(一)、指定动态库:\x0d\x0aDeclare语句中的Lib子句用来告诉VisualBasic如何找到包含过程的.dll
文件。如果引用的过程属于Windows核心库(User32、Kernel32或GDI32),则可以不包含文件扩展名,如:\x0d\x0aDeclareFunctionGetTickCountLib"kernel32"Alias"GetTickCount"()AsLong\x0d\x0a对于其它动态连接库,可以在Lib子句指定文件的路径:\x0d\x0aDeclareFunctionlzCopyLib"c:/windows/lzexpand.dll"_\x0d\x0a(ByValSAsInteger,ByValDAsInteger)AsLong\x0d\x0a如果未指定libname的路径,VisualBasic将按照下列顺序查找该文件:\x0d\x0a①.exe文件所在的目录\x0d\x0a②当前目录\x0d\x0a③Windows系统目录\x0d\x0a④Windows目录\x0d\x0a⑤Path环境变量中的目录\x0d\x0a下表中列出了常用的 *** 作系统环境库文件。\x0d\x0a动态链接库描述\x0d\x0aAdvapi32.dll高级API服务,支持大量的API(其中包括许多安全与注册方面的调用)\x0d\x0aComdlg32.dll通用对话框API库\x0d\x0aGdi32.dll图形设备接口API库\x0d\x0aKernel32.dllWindows32位核心的API支持\x0d\x0aLz32.dll32位压缩例程\x0d\x0aMpr.dll多接口路由器库\x0d\x0aNetapi32.dll32位网络API库\x0d\x0aShell32.dll32位ShellAPI库\x0d\x0aUser32.dll用户接口例程库\x0d\x0aVersion.dll版本库\x0d\x0aWinmm.dllWindows多媒体库\x0d\x0aWinspool.drv后台打印接口,包含后台打印API调用。\x0d\x0a对于Windows的系统API函数,可以利用VB提供的工具APIViewer查找某一函数及其相关数据结构和常数的声明,并复制到自己的程序中。
打开VB,然后先中“ActiveX Dll”工程,然后开始编辑。
编完后,保存一般是以“.cls”和“.vbw”保存。这时你选择“文件”菜单,d出下拉框,选中“生成.dll”选项,它就会在上面d出一个进度条“正在生成.dll文件”。
生成以后是一个有好象齿轮状的图标。如果你要引用,就开一个“标准EXE”工程,然后在“工程”选项中,单击“引用”。
找到你刚才的“.dll”的文件名,在前面的复选框中打勾,就可以引用你刚才在那里面写的方法了。
评论列表(0条)