WinAPI: GetModuleFileName、GetModuleHandle

原文:http://www.cnblogs.com/del/archive/2008/06/17/1223681.html

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls; type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  end; var
  Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject);
var
  buf: array[..MAX_PATH] of Char;
  hinst: HMODULE;
begin
  {获取指定模块的句柄}
  hinst := GetModuleHandle('gdi32.dll');   {获取模块的路径}
  GetModuleFileName(hinst, buf, Length(buf));
  ShowMessage(buf); {C:\WINDOWS\system32\GDI32.dll}
end; procedure TForm1.Button1Click(Sender: TObject);
var
  buf: array[..MAX_PATH] of Char;
begin
  {当 GetModuleFileName 的第一个参数为 0 或 HInstance 时, 会获取当前模块路径}
  GetModuleFileName(, buf, Length(buf));
  ShowMessage(buf);   GetModuleFileName(HInstance, buf, Length(buf));
  ShowMessage(buf);   {获取当前程序路径的常用方法}
  ShowMessage(Application.ExeName);
  ShowMessage(ParamStr());
end; end.
上一篇:HTML元素的属性


下一篇:优化JS加载时间过长的一种思路