VB聲明
Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long
說明
獲取一個應用程式或動態程式庫的模組句柄
返回值
Long,如執行成功成功,則返回模組句柄。零表示失敗。會設定GetLastError
參數表
參數 類型及說明
lpModuleName String,指定模組名,這通常是與模組的檔案名稱相同的一個名字。例如,NOTEPAD.EXE程式的模組檔案名稱就叫作NOTEPAD
註解
只有在當前進程的場景中,這個句柄才會有效
C#聲明
[DllImport("kernel32")]
public static extern int GetModuleHandle(string lpModuleName);
WIN32彙編聲明
GetModuleHandle,lpModuleName
函式的作用是返回指定模組名的句柄,如果為NULL,則返回本模組的句柄。
返回的句柄值存放在暫存器eax中。
lpModuleName參數是一個指向含有模組名稱字元串的指針;
使用舉例:
.686p
.xmm
.mmx
.model flat,stdcall
option casemap:none
.data
szUserDll db 'User32.dll',0
.data?
hUserDllHandle dd ?
sbError
invoke ExitProcess,0
start:
invoke GetModuleHandle,offset szUserDll
test eax,eax
je sbError
mov hUserDllHandle,eax
end start
易語言聲明
Ansi版本:
.版本 2
.DLL命令 GetModuleHandleA, 整數型, "kernel32.dll", "GetModuleHandleA"
.參數 lpModuleName, 文本型
Unicode版本:
.版本 2
.DLL命令 GetModuleHandleW, 整數型, "kernel32.dll", "GetModuleHandleW"
.參數 lpModuleName, 位元組集