调用和返回视数据类型的不同而不同,一般来说,对于返回字符串函数来说,VB中Declare function MyFunc lib "MyDll.dll" (byval strRet as string) as bool,对应VC中应该bool MyFunc(char* myBuf){myBuf=...;return true};而其他的数据类型则可以使用楼上老兄的意见。
给你一个例子: C的定义: LRESULT SendMessage( HWND hWnd, // handle to destination window UINT Msg, // message WPARAM wParam, // first message parameter LPARAM lParam // second message parameter ); VB的定义: 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
如果你调用中有按值传送的参数,用 Declare Function ProcName_In_Dll Lib "Dll名" (byval 参数名 as 数据类型) As 返回类型 如果在调用中有按地址传送的参数,用 Declare Function ProcName_In_Dll Lib "Dll名" (byref 参数名 as 数据类型) As 返回类型如果在调用中有缺省的参数,用 Declare Function ProcName_In_Dll Lib "Dll名" (optional 参数名 as 数据类型 = 缺省值) As 返回类型 注意如果第一个参数是缺省的话,其随后的参数也必须是缺省的
to all : 非常谢谢你们的参与!! 但我自已后来试了一下应该是如下对应的关系: vc vb char * byte(n) 为了感谢大家的参与, 这里20 分就分给大家了! 别抢, 分虽不多,表一个心意!!!! 有兴趣可交个朋友: e_mail: [email protected]
C的定义:
LRESULT SendMessage(
HWND hWnd, // handle to destination window
UINT Msg, // message
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
);
VB的定义:
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
Declare Function ProcName_In_Dll Lib "Dll名" (byval 参数名 as 数据类型) As 返回类型
如果在调用中有按地址传送的参数,用
Declare Function ProcName_In_Dll Lib "Dll名" (byref 参数名 as 数据类型) As 返回类型如果在调用中有缺省的参数,用
Declare Function ProcName_In_Dll Lib "Dll名" (optional 参数名 as 数据类型 = 缺省值) As 返回类型
注意如果第一个参数是缺省的话,其随后的参数也必须是缺省的
非常谢谢你们的参与!!
但我自已后来试了一下应该是如下对应的关系:
vc vb
char * byte(n) 为了感谢大家的参与,
这里20 分就分给大家了!
别抢,
分虽不多,表一个心意!!!!
有兴趣可交个朋友:
e_mail: [email protected]