原文: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.