-
LoadLibrary
鎖定
LoadLibrary是計算機語法
- 外文名
- LoadLibrary
- 備 註
- 計算機語法
- 返回值註解
- 不需要,用FreeLibrary函數釋放
- VB6實例
- 'KPD-Team 1999
LoadLibrary語法
Syntax(C++)
HMODULE WINAPI LoadLibrary( _In_ LPCTSTR lpFileName);
LoadLibrary聲明
VB6:
Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long
Declare Unicode Function LoadLibrary Lib "kernel32" Alias "LoadLibraryW" (lpLibFileName As String) As IntPtr
LoadLibrary説明
載入指定的動態鏈接庫,並將它映射到當前進程使用的地址空間。一旦載入,即可訪問庫內保存的資源
LoadLibrary返回值
Long,成功則返回庫模塊的句柄,零表示失敗。會設置GetLastError
參數 類型及説明
lpLibFileName String,指定要載入的動態鏈接庫的名稱。採用與CreateProcess函數的lpCommandLine參數指定的同樣的搜索順序
註解
一旦不需要,用FreeLibrary函數釋放DLL
LoadLibraryVB6實例
Create a new project and add this code to Form1 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 Form_Load() On Error Resume Next 'KPD-Team 1999 'We're going to call an API-function, without declaring it! Dim lb As Long, pa As Long 'map 'user32' into the address space of the calling process. Lb = LoadLibrary("user32") 'retrieve the address of 'SetWindowTextA' pa = GetProcAddress(lb, "SetWindowTextA") 'Call the SetWindowTextA-function CallWindowProc pa, Me.hWnd, "Hello !", ByVal 0&, ByVal 0& 'unmap the library's address FreeLibrary lb End Sub
- 參考資料
-
- 1. LoadLibrary (kernel32) .pinvoke.net[引用日期2018-06-21]