Public Declare Function GetProductName Lib "DogDll.dll" () As Long
Public Declare Function GetSoftWare Lib "DogDll.dll" () As Long
Public Declare Function GetSoftTime Lib "DogDll.dll" () As Long
Public Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, ByVal lpProcName As String) As Long
Public Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long
上面是DLL里的函,请问我在VB里怎样调用?我用下面的代码调用
Private Sub Command1_Click()
Dim tt As Long
Dim MySnapHandle As Long tt = LoadLibrary("DogDll.dll")'
If tt > 0 Then
tt = GetSoftWare
End If
'MySnapHandle = GetProcAddress(tt, GetSoftWare) 'GetProductName
'MsgBox MySnapHandle
End Sub
后出现如下的错误提示:"Bad dll calling convention"
Public Declare Function GetSoftWare Lib "DogDll.dll" () As Long
Public Declare Function GetSoftTime Lib "DogDll.dll" () As Long
Public Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, ByVal lpProcName As String) As Long
Public Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long
上面是DLL里的函,请问我在VB里怎样调用?我用下面的代码调用
Private Sub Command1_Click()
Dim tt As Long
Dim MySnapHandle As Long tt = LoadLibrary("DogDll.dll")'
If tt > 0 Then
tt = GetSoftWare
End If
'MySnapHandle = GetProcAddress(tt, GetSoftWare) 'GetProductName
'MsgBox MySnapHandle
End Sub
后出现如下的错误提示:"Bad dll calling convention"
Public Declare Function GetSoftWare Lib "DogDll.dll" () As Long
Public Declare Function GetSoftTime Lib "DogDll.dll" () As Long函数的定义已经写好了,还需要多余的API么?直接调用这些函数好了。将 DogDll.dll 放到 System32 目录,或者环境变量 PATH 所指到的路径下面,就可以了。--------
两个帖子都回了。