在文档中,通常使用 C 语言的语法描述 DLL 中的过程。要在 Visual Basic 中调用这些过程,需要将它们转换成合法的 Declare 语句,并使用正确的参数调用它们。
在进行这种转换时,必须将 C 数据类型转换为 Visual Basic 的数据类型,并且说明每个参数是以使用值的 (ByVal) 方式,还是使用引用的 (ByRef)(缺省)方式。下表针对常用的 C 语言数据类型列出了与之等价的 Visual Basic 类型(用于 32 位版本的 Windows)。
C 语言数据类型
在 Visual Basic 中声明为
调用时使用的表达式
ATOM
ByVal variable As Integer
结果为 Integer 类型的表达式
BOOL
ByVal variable As Long
结果为 Long 类型的表达式
BYTE
ByVal variable As Byte
结果为 Byte 类型的表达式
CHAR
ByVal variable As Byte
结果为 Byte 类型的表达式
COLORREF
ByVal variable As Long
结果为 Long 类型的表达式
DWord
ByVal variable As Long
结果为 Long 类型的表达式
HWND, HDC, HMENU 等。(Windows 句柄)
ByVal variable As Long
结果为 Long 类型的表达式
INT, UINT
ByVal variable As Long
结果为 Long 类型的表达式
LONG
ByVal variable As Long
结果为 Long 类型的表达式
LPARAM
ByVal variable As Long
结果为 Long 类型的表达式
LPDWORD
variable As Long
结果为 Long 类型的表达式
LPINT, LPUINT
variable As Long
结果为 Long 类型的表达式
LPRECT
variable As type
自定义类型的任意变量
LPSTR, LPCSTR
ByVal variable As String
结果为 String 类型的表达式
LPVOID
variable As Any
任何变量(在传递字符串的时候使用 ByVal)
LPWORD
variable As Integer
结果为 Integer 类型的表达式
LRESULT
ByVal variable As Long
结果为 Long 类型的表达式
NULL
As Any 或
ByVal variable As Long
ByVal Nothing 或 ByVal 0& 或 vbNullString
SHORT
ByVal variable As Integer
结果为 Integer 类型的表达式
VOID
Sub procedure
不可用
WORD
ByVal variable As Integer
结果为 Integer 类型的表达式
WPARAM
ByVal variable As Long
结果为 Long 类型的表达式