Помогите разобраться с процессами

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
claymen
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 159
Зарегистрирован: 14.04.2006 (Пт) 16:07
Откуда: КЫРГЫЗСТАН г.Бишкек

Помогите разобраться с процессами

Сообщение claymen » 04.12.2006 (Пн) 9:18

Вот нашел в сети модуль (Для VB), который работает с процессами, а именно содает массив PROC() в который записывает все процессы и их атрибуты.
Блин. Вот уже второй час пытаюсь понять, как с этим модул работать.

Просмотрите его plz. и если не очень трудно, то залейте example по этому модулю plz!
Вложения
GetProcess.rar
(2.63 Кб) Скачиваний: 39
и начинали мы все чайниками, но потом...

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 04.12.2006 (Пн) 10:42

ну например так:

Код: Выделить всё
Public Sub main()
Dim count As Integer
count = GetAllProcess
If count > 0 Then
    Dim i As Integer
    For i = 1 To count
        Debug.Print Proc(i).EXEName & " " & Proc(i).PID
    Next i
End If

End Sub
Весь мир матрица, а мы в нем потоки байтов!

claymen
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 159
Зарегистрирован: 14.04.2006 (Пт) 16:07
Откуда: КЫРГЫЗСТАН г.Бишкек

Сообщение claymen » 04.12.2006 (Пн) 11:37

!Viper!
Все это конечно шорошо, но мне надо узнать handl'ы этих самых EXE.
А точнее из SYSTEM_HANDLE_INFORMATION
и начинали мы все чайниками, но потом...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 04.12.2006 (Пн) 12:05

OpenProcess даст тебе хэндл по пиду.
Изображение

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 06.12.2006 (Ср) 22:01

Что-то я не могу понять, что тебе нужно. Объясни суть задачи. Тебе нужно открыть процесс для работы с ним - тогда Темыч уже ответил. И причем тут SYSTEM_HANDLE_INFORMATION?
А я все практикую лечение травами...

MAXIS
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 9
Зарегистрирован: 10.11.2006 (Пт) 3:31

Сообщение MAXIS » 08.12.2006 (Пт) 8:56

Код: Выделить всё
Public Function GetProcessIds(procid As Long) as String
Dim hsnapshot As Long
Dim htpr As Long
Dim ppr As Boolean
Dim pt As PROCESSENTRY32
hsnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0)
pt.dwSize = Len(pt)
ppr = Process32First(hsnapshot, pt)
While ppr
    If pt.th32OwnerProcessID = procid Then
        htpr = OpenProcess(PROCESS_QUERY_INFORMATION Or PROCESS_VM_READ, 0, pt.th32ProcessID))
        If htpr<> 0 Then
         prhand = prhand + CStr(htpr) + vbCrLf
         GetProcessIds = GetProcessIds + CStr(pt.th32ProcessID) + vbCrLf
         CloseHandle htpr
        End If
    End If
    ppr = Process32Next(hsnapshot, pt)
Wend
CloseHandle hsnapshot
End Function


Отсюда можно достать всю информацию по всем процессам сиcтемы.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: SemrushBot и гости: 18

    TopList  
cron