Beispiel zu GetModuleFileName


Beispielcode:

procedure TForm1.Button1Click(Sender: TObject);
var
   szFileName : array[0..49] of char;
   szModuleName : array[0..19] of char;
   iSize : integer;
begin
   StrPCopy(szModuleName, 'NameOfModule');
   iSize := GetModuleFileName(GetModuleHandle(szModuleName),szFileName,
                  SizeOf(szFileName));
   if iSize > 0 then
      ShowMessage('Full path name is : ' + StrPas(szFileName))
   else
      ShowMessage('Path of module not found');
end;

Bitte beachten: Wird der Pfad des Moduls nicht gefunden, dann wird der Pfad der Anwendung zurückgegeben (zumindest unter Delphi 4) ,deshalb sollte man dort folgenden Code verwenden:

procedure TForm1.Button1Click(Sender: TObject);
var
   szFileName : array[0..49] of char;
   szModuleName : array[0..19] of char;
   iSize : integer;
begin
   StrPCopy(szModuleName, 'NameOfModule');
   iSize := GetModuleFileName(GetModuleHandle(szModuleName),szFileName,
                  SizeOf(szFileName));
  if iSize > 0 then
     if StrPas(szFileName) <> Application.ExeName then
      ShowMessage('Full path name is : ' + StrPas(szFileName))
      else
     ShowMessage('Path of module not found');
   else
      ShowMessage('Path of module not found');
end;
Delphi 1 Delphi 2 Delphi 3 Delphi 4
nicht getestet Version nicht betroffen getestet


siehe auch:


Delphi FAQ