GetModuleHandle

GetModuleHandle是獲取一個應用程式或動態程式庫的模組句柄。如執行成功成功,則返回模組句柄。零表示失敗。會設定GetLastError。指定模組名,這通常是與模組的檔案名稱相同的一個名字。

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, 位元組集

相關詞條

相關搜尋

熱門詞條

聯絡我們