Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[13.59.61.119] |
|
Сообщ.
#1
,
|
|
|
WinNT Only:
Option Explicit Const MAX_PATH = 260 Private Declare Function OpenProcess Lib "kernel32.dll" (ByVal dwDesiredAccessas As Long, _ ByVal bInheritHandle As Long, ByVal dwProcId As Long) As Long Private Declare Function GetModuleFileNameExA Lib "psapi.dll" (ByVal hProcess As Long, _ ByVal hModule As Long, ByVal ModuleName As String, ByVal nSize As Long) As Long Private Declare Function GetCurrentProcessId Lib "kernel32" () As Long Private Declare Function EnumProcessModules Lib "psapi.dll" (ByVal hProcess As Long, _ ByRef lphModule As Long, ByVal cb As Long, ByRef cbNeeded As Long) As Long Private Const PROCESS_QUERY_INFORMATION = &H400 Private Const PROCESS_VM_READ = 16 'Добавить на форму Листбокс Private Sub Form_Load() Dim i As Long Dim lRet As Long Dim hProcess As Long Dim Modules(1 To 200) As Long Dim ModuleName As String hProcess = OpenProcess(PROCESS_QUERY_INFORMATION Or PROCESS_VM_READ, 0, GetCurrentProcessId) If (hProcess <> 0) Then lRet = EnumProcessModules(hProcess, Modules(1), 200, 0) If lRet <> 0 Then For i = 1 To 200 If Modules(i) <> 0 Then ModuleName = Space(MAX_PATH) lRet = GetModuleFileNameExA(hProcess, Modules(i), ModuleName, MAX_PATH) ModuleName = Left$(ModuleName, lRet) Call List1.AddItem(ModuleName) End If Next End If End If End Sub |