당신은 System
에서 EnumModules 기능을 사용할 수 있습니다.
여기에 EnumModules
함수를 사용하고로드 된 모든 이름을 가져 오는 방법에 대한 간단한 데모가 있습니다. BPL's
. 콘솔 응용 프로그램이지만 코드는 프로덕션 응용 프로그램에서 쉽게 다시 사용할 수 있습니다. 테스트 해 보려면 패키지를 사용하고 있는지 확인하십시오.
program Project17;
{$APPTYPE CONSOLE}
uses
SysUtils, Classes, Windows;
function EnumModulesFunc(HInstance: Integer; Data: Pointer): Boolean;
var Buff:array[0..1023] of char;
begin
if GetModuleFileName(HInstance, @Buff, SizeOf(Buff)) = ERROR_INSUFFICIENT_BUFFER then
Buff[High(Buff)] := #0;
TStringList(Data).Add(Buff);
end;
var L: TStringList;
begin
try
L := TStringList.Create;
try
System.EnumModules(EnumModulesFunc, L);
WriteLn(L.Text);
finally L.Free;
end;
Readln;
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
end.