大家都知道 C++是在很多地方能够取代汇编语言的半低级语言,
C++开发的代码具有很高的运行效率.
VB是基于控件的程序开发,将程序开发的难度和复杂程度降到最低,
但是会受到控件功能本身的限制,自身代码运行也不高,然而API函数的
实现可以使VB能够调用高效的动态链接库代码,下面就简单举个例子:
新建工程,选择 Win32 Dynamic Link Library,取名叫yxMath //游侠数学,呵呵
选择 A Simple Dll //一个简单的DLL 系统会帮你写好入口,其实也就3行代码
然后在 yxMath.cpp 写下这些:
#include "stdafx.h"//包含标准afx头文件 stdafx.h
#define CUSTOM_API __declspec(dllexport) //定义接口类型
CUSTOM_API int __stdcall MyFun(int a,int b);//声明API接口
int __stdcall GetSum(int intX,int intY)//声明一个函数,求两个数的和
{
return intX+intY;
}
//下面的是 Dll 主入口函数,系统自动给的,如果选择 A empty dll 则需要自己添加.
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
return TRUE;//管他什么连接一律返回 true
}
新建文件,选择C++ Source File (即源文件) 取名 APIXports.def
在里面输入以下内容:
EXPORTS
GetSum //输出这个函数,可以分行写多个
然后保存直接构建 yxMath.Dll 0 error(s) 0 warning(s)
运行 Visual Basic 6.0
创建一个标准 exe工程
两个TextBox 再一个CommandButton 再一个TextBox
开始写代码:
'API函数声明
Private Declare Function GetSum Lib "yxMath.dll" (ByVal intX As Integer,ByVal intY As Integer) As Integer
'按钮的事件
Private Sub Command1_Click()
Text3.Text = Str(GetSum(Val(Text1.Text),Val(Text2.Text)))
End Sub
生成 工程1.exe 将程序和yxMath.Dll 放在同一个目录下(别再问我目录是什么)
运行程序,输入1 2 点一下按钮 看结果是什么 Oh Yeah
今天能算1+1 明天超过计算机
今天能用VBC 明天统治全领域
原文链接:https://www.f2er.com/vb/262778.html