射手的博客
学习Delphi,需要一个记录学习的博客,

*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。  当非零时则为释放成功,为零则释放失败!
posted on 2009-03-28 21:49 Archer 阅读(2910) 评论(0)  编辑 收藏 引用 所属分类: Windows API 函数
只有注册用户登录后才能发表评论。