动态调用未注册Dll

引用内容 引用内容

Private Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long) As Long
Private Declare Function
LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long
Private Declare Function
GetProcAddress Lib "kernel32" (ByVal hModule As Long, ByVal lpProcName As String) As Long
Private Declare Function
CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal Msg As Any, ByVal wParam As Any, ByVal lParam As Any) As Long

Private Sub
Command1_Click()
    
On Error Resume Next
    Dim
lb As Long, pa As Long
    
'以 text.dll 为例,设 text.dll 功能跟 user32.dll 完全相同。
    
lb = LoadLibrary(App.Path & "\text.dll")
    
'取得 text.dll 中 SetWindowTextA 函数的地址
    
pa = GetProcAddress(lb, "ExploreMap")
    
'调用 SetWindowTextA 函数过程
    
pa = CallWindowProc(pa, ByVal 0&, ByVal 0&, ByVal 0&, ByVal 0&)
    
'释放...
    
FreeLibrary lb
    Me.Caption = pa
End Sub



[本日志由 JiaJia 于 2008-02-04 08:37 PM 编辑]
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: VB
评论: 0 | 引用: 0 | 查看次数: -
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.