对于很多VB爱好者来说,或多或少会了解一点C语言,有时候VB的运算速度或某些功能不能满足开发者需求的时候可能会考虑到用C语言来解决问题,但对于不熟悉VC开发环境的人来说,会用C语言,不见得就了解如何用VC做这样的接口程序,本人就在此对VC编写API形式的DLL供VB调用这个话题做一个详细的操作过程说明,希望能对这方面有需求的VB爱好者有所帮助。 我们就来先了解一下VC是如何建立API形式的DLL吧: ![](http://hi.csdn.net/attachment/201003/4/71837_12677112903036.gif) 先打开VC6的开发环境 ![](http://hi.csdn.net/attachment/201003/4/71837_126771129215iu.gif) 再点击文件菜单的新建按钮 ![](http://hi.csdn.net/attachment/201003/4/71837_1267711296POdZ.gif) 弹出新建对话框后设置一下你的工程名称和保存路径,然后选择 Win32 Dynamic-Link Lib 项目,然后确定 ![](http://hi.csdn.net/attachment/201003/4/71837_1267712047TM5D.gif) 选择 A simple DLL Project 选项,系统会自动生成相关的文件和部分代码 ![](http://hi.csdn.net/attachment/201003/4/71837_12677120501J33.gif) 点击OK建立工程操作完成 ![](http://hi.csdn.net/attachment/201003/4/71837_1267712053C4x0.gif) 回到VC开发环境后点击左边栏目下面的 FileView 选择卡查看文件状态 ![](http://hi.csdn.net/attachment/201003/4/71837_1267712056nebb.gif) 展开项目树可以看到与工程相关的文件 ![](http://hi.csdn.net/attachment/201003/4/71837_1267712058p96j.gif) 双击你命名的程序文件,这里是APIDemo.cpp,然后可以看到系统已经为你生成了相关的DLL入口函数代码 ![](http://hi.csdn.net/attachment/201003/4/71837_126771206371e6.gif) 不用去理会他,直接建立自己的API函数,这里用一个简单的加法计算函数作为范例 ![](http://hi.csdn.net/attachment/201003/4/71837_12677120690yL5.gif) 编写好函数后记得保存,这是个好习惯,然后用我的电脑打开工程目录所在的位置 ![](http://hi.csdn.net/attachment/201003/4/71837_1267712077TPoK.gif) 然后新建一个文本文件 ![](http://hi.csdn.net/attachment/201003/4/71837_1267712761UZ49.gif) 再将其新建的文本文件改名 ![](http://hi.csdn.net/attachment/201003/4/71837_1267712763lZF7.gif) 这里是重新命名好的文件,注意扩展名为.def ,这很关键 ![](http://hi.csdn.net/attachment/201003/4/71837_1267712765xDKL.gif) 回到VC的开发环境,对 Source Files 项目点鼠标右键,弹出菜单后选择 Add Files to Folder... 菜单项 ![](http://hi.csdn.net/attachment/201003/4/71837_1267712767KKzc.gif) 选择刚才建立的def文件,注意,打开对话框的类型要是“所有文件(*.*)”的状态才能找到def文件 ![](http://hi.csdn.net/attachment/201003/4/71837_1267712775dyly.gif) 这是添加好def文件后的效果 ![](http://hi.csdn.net/attachment/201003/4/71837_12677127763m8R.gif) 用鼠标双击def文件,然后输入相关申明,API函数是从这里找函数声明的,所以有多少函数都换行加上去就可以了,只需要输入函数名,不用参数 ![](http://hi.csdn.net/attachment/201003/4/71837_1267712778Wddd.gif) 然后点击 Save All(保存全部文件)(这是个好习惯),然后执行编译操作,这是编译后的效果 ![](http://hi.csdn.net/attachment/201003/4/71837_1267713510ner4.gif) 编译后,打开我的电脑,进入工程所在的目录,会在工程中有一个Debug目录 ![](http://hi.csdn.net/attachment/201003/4/71837_1267713513e4og.gif) 然后进入Debug目录会发现有一个与你工程名相同的 dll 文件,这就是一个API形式的 dll 文件了。 我们再来了解一下VB是如何使用VC建立的API接口函数吧: ![](http://hi.csdn.net/attachment/201003/4/71837_1267713517R9B9.gif) 先建立一个标准的EXE工程,系统会自动建立一个窗口作为启动窗口 ![](http://hi.csdn.net/attachment/201003/4/71837_1267713530GR5s.gif) 在这个窗口中添加几个基本的控件,界面效果如上所视 ![](http://hi.csdn.net/attachment/201003/12/71837_1268362365N9NA.gif) 然后双击按钮进入代码编辑模式,输入以上代码,其意思很简单,就是定义API函数,然后在按钮按下事件里调用API函数来进行基本的加法运算 ![](http://hi.csdn.net/attachment/201003/12/71837_1268362366Hj1T.gif) 然后修改工程名称和窗口名称,当然你不修改也可以,但记住要保存文件,然后编译程序,将程序直接编译到那个VC工程目录的Debug目录里,方便使用 ![](http://hi.csdn.net/attachment/201003/4/71837_1267713548Jl9t.gif) 然后用我的电脑进入那个VC工程的Debug 录,然后运行新编译的VB程序,在文本框中输入数字,然后点击按钮,程序将会调用VC写的API函数进行加法运算,这是最终运行效果 |