- Код: Выделить всё
Private Sub ReadTimer_Timer() 'прочитать данные с процесса
' Объявляем некоторые необходимые моменты для таймера.
Dim hwnd As Long ' удерживает управление, переданное функцией FindWindow.
Dim pid As Long ' удерживает идентификатор процесса.
Dim pHandle As Long ' удерживает управление процессом.
Dim str As String * 20 ' параметр текстовой строки.
Dim proce As String ' название процеса
Dim nomproce As Long ' номер процеса
' Вначале ищем окно игры.
'название процеса можно прочитать при нажатии кнобок альт + таб
proce = Text2.Text '(Text2-название процесса)
hwnd = FindWindow(vbNullString, proce)
If (hwnd = 0) Then
List1.AddItem "error1 Не найдено окно процесса!" 'список выполняемых действий
Exit Sub
Else
List1.AddItem "Найдено окно процесса " & Text2.Text & " !" 'список выполняемых действий
End If
' Теперь можно определить идентификатор процесса.
GetWindowThreadProcessId hwnd, pid
' Используем идентификатор для управления процессом.
pHandle = OpenProcess(PROCESS_ALL_ACCESS, False, pid)
'pHandle = OpenProcess(CONST PROCESS_ALL_ACCESS AS LONG, False, pid)
If (pHandle = 0) Then
List1.AddItem "error2 процес не открыт!" 'список выполняемых действий
Exit Sub
Else
List1.AddItem "процес открыт! pHandle = " & pHandle 'список выполняемых действий
List1.AddItem "идентификатор процесса = " & pid
End If
' Теперь можно прочитать из памяти...
'ReadProcessMemory pHandle, Text3.Text, str, 20, 0& 11CCE438
nomproce = Text3.Text 'определить значение №1 '&H913F6BC
If ReadProcessMemory(pHandle, nomproce, str, 20, 0&) Then Text5.Text = Asc(str)
nomproce = Text6.Text 'определить значение №2 '&H913F6BC
If ReadProcessMemory(pHandle, nomproce, str, 20, 0&) Then Text7.Text = Asc(str)
nomproce = Text4.Text 'определить значение №3 '&H913F6BC
If ReadProcessMemory(pHandle, nomproce, str, 20, 0&) Then Text8.Text = Asc(str)
' Прекращаем управлять процессом.
CloseHandle hProcess
ReadTimer.Enabled = False
End Sub
Мне нужно прочесть и вывести на форму все данные с процесса, может в цикле как-нибудь, без помощи сторонних программ типа арт монео.
Как вывести список всех идентификаторов процесса? Как вывести их значения?