Name
EnumModules Procedure
Syntax
procedure EnumModules(Func: TEnumModuleFuncLW; Data: Pointer);
Description
The EnumModules procedure calls a user-supplied
callback function for each module in the application, that is, for
the application’s .exe module and for
every package and DLL the application loads.
The callback function gets two arguments: the instance handle of each
module and the Data argument. It returns True to
continue enumerating modules or False to stop and cause
EnumModules to return immediately.
EnumModules is a real procedure.
Tips and Tricks
For backward compatibility, EnumModules is
overloaded and can use a callback function that declares its
HInstance parameter with type
Integer. For new code, however, you should use
LongWord, or if you are using the
Windows unit, THandle.
Example
// Display a list of modules in a string list. Data must be
// a TStrings reference.
function GetModules(Instance: THandle; Data: Pointer): Boolean;
var
FileName: array[0..Max_Path] of Char;
begin
if GetModuleFileName(Instance, FileName, SizeOf(FileName)) > 0 then
TStrings(Data).Add(FileName)
else
RaiseLastWin32Error;
Result := True;
end;
...
EnumModules(GetModules, ListBox1.Items);See Also
| EnumResourceModules Procedure, FindClassHInstance Function, FindHInstance Function, LibModuleList Variable, PLibModule Type, RegisterModule Procedure, TEnumModuleFuncLW Type, TLibModule Type, UnregisterModule Procedure |
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access