VB里面对普通DLL函数的调用方法如下:首先进行声明做裂念:
这个是有返回值的函数的声明方源雀法:
Private Declare Function HelloWorld Lib "E:\xxx.dll" (ByVal InLng As Long) As Long
这个是没有返回值的函数的声明方法:
Private Declare Sub HelloWorld Lib "E:\xxx.dll" (ByVal InLng As Long)
备注:如果dll跟vb程序不在一个目录,就要写全路径,否则直接写上dll文件名就行了。
之后就可以像普通VB函数(Function)或者过程(Sub)一样的调用了,例如:
rtnCode = HelloWorld(123)
或者
Call HelloWorld(123)
另外,C里面的纯困函数要加加上_stdcall,例如:
DLLIMPORT _stdcall long HelloWorld (long InLng,char *InStr)
在c语言中每一个变量答纳都有两个属性一个是值,一个是址。比如inta=2变量a的值是2,变量a的地址,可以用&取地址*** 作符
获取,即&a。因此以C语言的函数传递中具备两种方式传递参清雀没数岁竖,一种是传址,一种传值。比如voidf1(intv){}//函数f1v
只要先把咐掘VB程序编译成EXE文蚂闷件,就可以在闷简弯C程序中调用:
#include "stdio.h"
void main()
{
int a
scanf ("%d",&a)
if(a==5)system("d:\daojishi.exe")
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)