Получаем список процессов
FreeBasic :: Программирование :: Общее
Страница 1 из 1
Получаем список процессов
вот вам програмка. выводит список процессов. поповоду функций, можете посмотреть в firststeps или вбив в поисковик слово "функция" и название функции. точно чего-нибудь найдете.
- Код:
#include "windows.bi"
#include "win/tlhelp32.bi"
dim count as integer = 0 ' счетчик
dim hSnap as HANDLE ' хэндл снимка процессов
dim proc as PROCESSENTRY32 ' структура PROCESSENTRY32
hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0) ' сделаем снимок процессов
if hSnap = NULL then ' если ошибка
print "Error Load ToolHelp"
else
proc.dwSize = sizeof(PROCESSENTRY32) ' обязательно нужно заполнить размер структуры PROCESSENTRY32
if Process32First(hSnap, @proc) then ' если есть первый процесс
print proc.szExeFile ' отображаем имя процесса
count+=1 ' добавим к счетчику 1
while Process32Next(hSnap, @proc) ' пока есть следующие процессы
if count = 23 then ' если экран забит на 23 строки
print "Press any key"
sleep
cls ' сотрем экран
count = 0 ' обнулим счетчик
end if
print proc.szExeFile ' отображаем процессы
count+=1 ' добавляем к счетчику 1
wend
end if
end if
print "Press any key to exit"
sleep
electrik- Сообщения : 391
Дата регистрации : 2008-09-02
Возраст : 43
Откуда : галактика Млечный путь, система Солнечная, планета Земля, страна россия, город Санкт Петербург
Re: Получаем список процессов
Продолжаем изучать возможности ToolHelp.Dll. Давайте создадим консольное приложение и сразу код:
Методика таже самая. Соединяемся с ToolHelp, только теперь смотрим Thread32First() и Thread32Next(), которые возвращают результат в структуру THREADENTRY32,
из которой я пока извлек два параметра. Это идентификатор потока th32ThreadID и процесса, который этот поток породил th32OwnerProcessID и Вы увидите, что
у процесса много потоков.
эти материалы я беру с
http://firststeps.ru
и оптимизирую под FreeBasic
- Код:
#include "windows.bi"
#include "win/tlhelp32.bi"
dim count as integer = 0 ' счетчик
dim hSnap as HANDLE = NULL ' хэндл снимка процессов
dim te32 as THREADENTRY32 ' структура THREADENTRY32
hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0) ' сделаем снимок процессов
if hSnap <> NULL then ' если не ошибка
te32.dwSize = sizeof(THREADENTRY32) ' обязательно надо заполнить размер структуры THREADENTRY32
if Thread32First(hSnap, @te32) then
print te32.th32ThreadID," ",te32.th32OwnerProcessID
count+=1 ' добавим к счетчику 1
while Thread32Next(hSnap, @te32)
if count = 23 then ' если экран забит на 23 строки
print "Press any key"
sleep
cls ' сотрем экран
count = 0 ' обнулим счетчик
end if
print te32.th32ThreadID," ",te32.th32OwnerProcessID
count+=1 ' добавляем к счетчику 1
wend
end if
end if
CloseHandle(hSnap)
print "Press any key to exit"
sleep
Методика таже самая. Соединяемся с ToolHelp, только теперь смотрим Thread32First() и Thread32Next(), которые возвращают результат в структуру THREADENTRY32,
из которой я пока извлек два параметра. Это идентификатор потока th32ThreadID и процесса, который этот поток породил th32OwnerProcessID и Вы увидите, что
у процесса много потоков.
эти материалы я беру с
http://firststeps.ru
и оптимизирую под FreeBasic
electrik- Сообщения : 391
Дата регистрации : 2008-09-02
Возраст : 43
Откуда : галактика Млечный путь, система Солнечная, планета Земля, страна россия, город Санкт Петербург
FreeBasic :: Программирование :: Общее
Страница 1 из 1
Права доступа к этому форуму:
Вы не можете отвечать на сообщения
|
|