GetModuleHandle

GetModuleHandle

GetModuleHandle是一個計算機函式,功能是獲取一個應用程式或動態程式庫的模組句柄。只有在當前進程的場景中,這個句柄才會有效。

基本介紹

  • 中文名:獲取模組句柄
  • 外文名:GetModuleHandle
  • 性質:API函式
  • 返回值HMODULE
返回值,參數表,注意事項,函式聲明,C++聲明,VB聲明,C#聲明,VC聲明,彙編聲明,易語言聲明,

返回值

HMODULE,如執行成功成功,則返回模組句柄。零表示失敗。獲取錯誤信息,請調用GetLastError

參數表

lpModuleName String,指定模組名,這通常是與模組的檔案名稱相同的一個名字。例如,NOTEPAD.EXE程式的模組檔案名稱就叫作NOTEPAD。

注意事項

只有欲獲取的模組已映射到調用該函式的進程內,才會正確得到模組句柄。常用模組映射函式:LoadLibrary

函式聲明

C++聲明

HMODULE WINAPI GetModuleHandle(
_In_opt_LPCTSTR lpModuleName
);

VB聲明

Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long

C#聲明

[DllImport("kernel32")]
public static extern int GetModuleHandle(string lpModuleName);

VC聲明

HMODULE GetModuleHandle(LPCTSTRlpModuleName);

彙編聲明

GetModuleHandle,lpModuleName
函式的作用是返回指定模組名的句柄,如果為NULL,則返回本模組的句柄。
返回的句柄值存放在暫存器eax中。
lpModuleName參數是一個指向含有模組名稱字元串的指針
使用舉例:
.686p.xmm.mmx.model flat,stdcalloption casemap:none.dataszUserDll db 'User32.dll',0.data?hUserDllHandle dd?sbErrorinvoke ExitProcess,0start:invoke GetModuleHandle,offsetszUserDlltest eax,eaxje sbErrormov hUserDllHandle,eaxend start...

易語言聲明

Ansi版本:
.版本 2
.DLL命令 GetModuleHandleA, 整數型, "kernel32.dll", "GetModuleHandleA"
.參數 lpModuleName, 文本型
Unicode版本:
.版本 2
.DLL命令 GetModuleHandleW, 整數型, "kernel32.dll", "GetModuleHandleW"
.參數 lpModuleName, 位元組集

相關詞條

熱門詞條

聯絡我們