|
|
|
Click here to copy the following block | Const MAX_MODULE_NAmeInfo = 255 Const MAX_PATH = 260 Const TH32CS_SNAPMODULE = &H8
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 * MAX_PATH End Type
Private Declare Function CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (ByVal _ dest As Any, ByVal source As Any, ByVal bytes As Long) As Long Private Declare Function CreateToolhelpSnapshot Lib "kernel32" Alias _ "CreateToolhelp32Snapshot" (ByVal lFlags As Long, ByVal lProcessID As Long) _ As Long Private Declare Function Module32First Lib "kernel32" (ByVal hSnapshot As Long, _ lpmeInfo As MODULEENTRY32) As Long Private Declare Function Module32Next Lib "kernel32" (ByVal hSnapshot As Long, _ lpmeInfo As MODULEENTRY32) As Long Private Declare Sub CloseHandle Lib "kernel32" (ByVal hPass As Long) Private Declare Function GetCurrentProcessId Lib "kernel32" () As Long
Function GetProcessModules(Optional ByVal processID As Long = -1) As String() Dim meInfo As MODULEENTRY32 Dim success As Long Dim hSnapshot As Long ReDim res(0) As String Dim count As Long If processID = -1 Then processID = GetCurrentProcessId hSnapshot = CreateToolhelpSnapshot(TH32CS_SNAPMODULE, processID) If hSnapshot = 0 Then GoTo ExitProc meInfo.dwSize = Len(meInfo) success = Module32First(hSnapshot, meInfo) Do While success If meInfo.th32ProcessID = processID Then count = count + 1 If count > UBound(res) Then ReDim Preserve res(count + 100) As String End If res(count) = Left$(meInfo.szExePath, InStr(meInfo.szExePath & _ vbNullChar, vbNullChar) - 1) End If success = Module32Next(hSnapshot, meInfo) Loop CloseHandle hSnapshot ExitProc: ReDim Preserve res(0 To count) As String GetProcessModules = res End Function |
|
|
|
Submitted By :
Nayan Patel
(Member Since : 5/26/2004 12:23:06 PM)
|
|
|
Job Description :
He is the moderator of this site and currently working as an independent consultant. He works with VB.net/ASP.net, SQL Server and other MS technologies. He is MCSD.net, MCDBA and MCSE. In his free time he likes to watch funny movies and doing oil painting. |
View all (893) submissions by this author
(Birth Date : 7/14/1981 ) |
|
|