purebasic.info

PureBasic forum
Текущее время: Пн июл 22, 2019 7:20 pm

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
СообщениеДобавлено: Сб июн 29, 2019 4:47 pm 
Не в сети
доцент

Зарегистрирован: Пн янв 23, 2017 11:04 am
Сообщений: 31
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
Пункты репутации: 0
мне потребовался такой код. Все, что я нашел(тут и даже на форум-папе посмотрел), мне не понравилось. Либо длинно, либо не очень совместимо. Пришлось самому пробовать. Просто делюсь своими потугами, может, кому пригодится из начинающих:
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Procedure ListProcesses() ; листинг всех процессов в системе
Protected p.PROCESSENTRY32 ; объявляем структуру (она уже встроена в винду и имеет заданный порядок)
h=CreateToolhelp32Snapshot_(#TH32CS_SNAPPROCESS, 0); функция снимка всех процессов
p.PROCESSENTRY32\dwSize = SizeOf(PROCESSENTRY32); вычисляет сколько байт структура берет из памяти, значение записывает в dwSize(это имя уже встроено в структуру)
fnd=Process32First_(h, @p.PROCESSENTRY32) ; запрос первого процесса, =1 если нашли. 0- не нашли
While  fnd=1 ; перебираем
 PID  = p\th32ProcessID :Debug PID ; тут сидит PID рассматриваемого процесса
 Name$ = PeekS(@p\szExeFile):Debug Name$ ; тут сидит имя процесса(программы)
 fnd=Process32Next_(h, @p) ; берем следующий процесс
Wend
 CloseHandle_(h); закрываем снимок
EndProcedure
 
 ListProcesses()


_________________
.


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB