如何获取另一程序加载的DLL的起始地址

来源:百度知道 编辑:UC知道 时间:2024/05/26 09:07:20
比如我正在写一个a.exe的程序, 要用这个程序读取 b.exe加载的c.dll的内存起始地址. 该如何来做??

b.exe的PID会取吗?会取就把下面的函数放在公共模块中使用

Public Function GetProcModuleHandle(PID As Long, Module As String) As Long
Dim pl As moduleENTRY32
Dim hSnapshot As Long
hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPmodule, PID)
If hSnapshot Then
pl.dwSize = Len(pl)
ModuleCount = 0
If (module32First(hSnapshot, pl)) Then
Do
If InStr(1, pl.szModule, Module, vbTextCompare) > 0 Then
GetProcModuleHandle = pl.hModule
Exit Function
End If
Loop Until (module32Next(hSnapshot, pl) < 1)
End If
CloseHandle (hSnapshot)
End If
End Function