Оригинальничать не стану и сделаю то что тут делают многие, просто дам код из программы Api-Guide, которую ты сможешь скачать отсюда: http://www.allapi.net/cgi-bin/redirect.cgi?place=apiguide
Private Type MODULEENTRY32
dwSize As Long
th32ModuleID As Long
th32ProcessID As Long
GlblcntUsage As Long
ProccntUsage As Long
modBaseAddr As Long
modBaseSize As Long
hModule As Long
szModule As String * 256
szExePath As String * 260
End Type
Private Declare Function GetCurrentProcessId Lib "kernel32" () As Long
Private Declare Function CreateToolhelp32Snapshot Lib "kernel32" (ByVal lFlags As Long, ByVal lProcessID As Long) As Long
Private Declare Function Module32First Lib "kernel32" (ByVal hSnapshot As Long, uProcess As MODULEENTRY32) As Long
Private Declare Function Module32Next Lib "kernel32" (ByVal hSnapshot As Long, uProcess As MODULEENTRY32) As Long
Private Sub Form_Load()
'example created by Scheuren Andy (scheuren_andy@yahoo.de)
 im uProcess As MODULEENTRY32
Form1.AutoRedraw = True
lProcessID = GetCurrentProcessId
hSnapshot = CreateToolhelp32Snapshot(8, 0)
uProcess.dwSize = Len(uProcess)
n = Module32First(hSnapshot, uProcess)
 o While n
Form1.Print Left(uProcess.szModule, InStr(uProcess.szModule, Chr(0)) - 1)
n = Module32Next(hSnapshot, uProcess)
Loop
End Sub
Видимо, я что-то намудрил:
мой код работал только после компиляции и то только в том случае, если я экзешник запускал в режиме совместимости с Windows 9x...