*HMODULE* 这3个函数中相同的函数.我理解的含义.
此函数得到一个将 动态链接库 载入 内存 后得到的地址;
内存地址是16进制的.编译器自动转换为10进制数, 所以得到一个10进制的"内存地址".
我们称这样指向一个动态链接库的叫做''模块句柄'',其实就是一个指针.
LoadLibrary 函数,将一个指定的动态链接库加载到当前程序中.
function LoadLibrary(lpLibFileName: PChar): HMODULE; stdcall;
-------
lpLibFileName: PChar 指定要载入的动态链接库的名称
-------
Windows.pas 下
HMODULE = System.HMODULE;
system.pas 下
HMODULE = HINST;
--------
HINST = THandle;
--------
THandle = LongWord; {0..4294967295}
最后此函数返回一个LongWord值,返回指定的动态链接库 ("DLL") 在程序当中的映像地址.(指当前调用此函数的程序).
-----------------------------------------------------------------------------------------------------------------------------------------
GetProcAddress 指定返回一个在动态链接库中的例程地址.
function GetProcAddress(hModule: HMODULE; lpProcName: LPCSTR): FARPROC; stdcall;
Hmodule:HMODULE; //指定一个已经加载到程序中的动态链接库映像地址.
--------------
lpProcName: LPCSTR; // {LPCSTR = PAnsiChar;} 指定一个在动态链接库中的例程名;
---------------
FARPROC;//{ FARPROC = Pointer; } 返回一个指向此例程的指针.
-----------------------------------------------------------------------------------------------------------------------------------------
Freelibrary 释放指定的动态链接库,此动态链接库必须被LoadLibrary函数 加载到程序内存当中.
function FreeLibrary(hLibModule: HMODULE): BOOL; stdcall;
hLibModule: HMODULE ////指定一个
已经加载到程序中的动态链接库映像地址.
-----------
BOOL; //{ BOOL = LongBool ; } 0 作为 False,非 0 作为 True。 当非零时则为释放成功,为零则释放失败!