A small Windows utility that lists all DLLs loaded into a given process.
It uses a separate DLL (libLstDll.dll) to enumerate modules and store/load previous DLL lists from the registry.
- List DLLs for a process by PID or by process name.
- Optionally print full paths instead of just module names.
- Store the DLL list in the registry and show:
- New DLLs since last run.
- DLLs that are no longer loaded.
# Step 1: Create folder & copy files
New-Item -ItemType Directory -Path "C:\Program Files\listDll" -Force
Copy-Item ".\listDll.exe" "C:\Program Files\listDll\"
Copy-Item ".\libLstDll.dll" "C:\Program Files\listDll\"
# Step 2: Add to PATH permanently
$currentPath = [Environment]::GetEnvironmentVariable("PATH", "Machine")
[Environment]::SetEnvironmentVariable("PATH", $currentPath + ";C:\Program Files\listDll", "Machine")
## Usage
### From a terminal in the folder containing `listDll.exe` and `libLstDll.dll`:
listdlls [/p] <pid>
listdlls [/p] <process-name>