Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2005.02.20;
Скачать: [xml.tar.bz2];

Вниз

Получение списка выполняемых задач винды   Найти похожие ветки 

 
Flext@r ©   (2004-12-25 21:07) [0]

Как получить список используемых задач винды? Подскажите пожайлуста!


 
Piter ©   (2004-12-25 21:12) [1]

Если я правильно понял:

-------------------------------------------------

Вопрос: как получить список процессов в системе

Ответ: будем пользоваться функцией CreateToolhelp32Snapshot, она реализована как в NT системах (начиная с windows 2000), так и в 9x. В NT она использует пресловутую NtQuerySystemInformation, которая недокументированна.
Заголовок CreateToolhelp32Snapshot и остальные типы описаны в модуле TlHelp32.
CreateToolhelp32Snapshot может делать снимок процессов и куч, модулей, потоков, используемых процессом. Она заносит требуемые данные в некоторую структуру (снимок) и возвращает ее описатель. После использования снимка нужно закрыть описатель.
Работать со снимком можно с помощью функций Process32First, Process32Next, Thread32First , Thread32Next и так далее (описаны в Win32 SDK в разделе "Tool Help Functions"). Эти функции заносят информацию о конкретном процессе, потоке и т.д. из снимка в структуры типа TProcessEntry32, TThreadEntry32.
Итак, будем получать список процессов и заносить их названия в ListBox1, который лежит у нас на форме:

procedure TForm1.Button1Click(Sender: TObject);
var
 HSnapShot: THandle;
 pe: TProcessEntry32;
begin
 listbox1.Clear; //очишаем наш ListBox1
 HSnapShot:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); //нам нужен снимок процессов
 pe.dwSize := sizeof(ProcessEntry32); //перед использованием TProcessEntry32 нужно заполнить поле dwSize
 if Process32First(HSnapShot, pe) then // если первая запись о процессах получена - продолжаем
  repeat
    listbox1.Items.Add(pe.szExeFile); // добавляем в ListBox
  until ( not Process32Next(HSnapShot,pe) ); // получаем запись о следующем процессе, если не получаем - выходим из цикла
 closehandle(HSnapShot); // закрываем описатель снимка
end;

Файл проекта с данным примером можно загрузить ЗДЕСЬ

Отвечал: Piter


 
Хакер ©   (2004-12-25 21:29) [2]

Piter ©   (25.12.04 21:12) [1]
ссылку на пример то что не выложил ?


 
Piter ©   (2004-12-25 23:17) [3]

Трудно что ли код скомпилировать представленный...


 
Erazzer   (2004-12-25 23:39) [4]

Лень фраера сгубила...


 
Хакер ©   (2004-12-25 23:49) [5]

Piter ©   (25.12.04 23:17) [3]
эх ..  выкладывай-так полностью :))))


 
Flext@r ©   (2004-12-30 22:51) [6]

А ведь не работает???!!!
Не понимает: "pe: TProcessEntry32" Ведь на сколько я понял TProcessEntry32 - это какой-то класс но не тип переменной!! Delphi выдаёт ошибку!!!


 
GuAV ©   (2004-12-30 22:58) [7]

Flext@r ©   (30.12.04 22:51) [6]
uses TlHelp32;


 
Flext@r ©   (2004-12-30 23:12) [8]

Спасибо!!!


 
Piter ©   (2004-12-31 01:31) [9]

Flext@r ©   (30.12.04 22:51) [6]
Не понимает: "pe: TProcessEntry32"


кода же люди научаться читать?

Piter ©   (25.12.04 21:12) [1]
Заголовок CreateToolhelp32Snapshot и остальные типы описаны в модуле TlHelp32


 
Gero ©   (2004-12-31 02:05) [10]


> Piter ©   (31.12.04 01:31)

Да никто ничего не читал. Зачем, если код есть?
Так что перед кодом нужно писать:
uses
 TlHelp32;


 
Flext@r ©   (2004-12-31 10:02) [11]

Я же учусь только, а не спец как вы!!! Уж не судите строго


 
Piter ©   (2004-12-31 13:15) [12]

Flext@r ©   (31.12.04 10:02) [11]
Я же учусь только


и что?! Это оправдывает то, что ты даже не пожелал взглянуть на текстовое описание перед примером?!

Гораздо проще задать очередной тупой вопрос, чем просто прочитать пару строчек выше, да?

Ты учти, что есть Чайники, а есть Ламеры. И они принципиально друг от друга отличаются.


 
Gero ©   (2004-12-31 15:13) [13]


> Piter ©   (31.12.04 13:15)

Миша, спокойно, Новый Год на дворе! )
А строчку кода все-таки добавил бы в пример…


 
kaZaNoVa ©   (2005-01-01 12:54) [14]

Piter ©   (31.12.04 13:15) [12]

> Ты учти, что есть Чайники, а есть Ламеры. И они
> принципиально друг от друга отличаются.

ха:))
- по твоему - чем?  =))


 
DeadMeat ©   (2005-01-01 14:20) [15]

Ламер - он ничего не знает, но делает вид, что знает
Чайник - тоже мало что знает, но пытается учиться и не скрывает своего незнанья

---
...Death Is Only The Begining...



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2005.02.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.043 c
6-1102537369
Homa_Programer
2004-12-08 23:22
2005.02.20
выключение компа


3-1104861881
Alex_S
2005-01-04 21:04
2005.02.20
Восстановление строк DBGrid после перезагрузки таблицы TQuery.


1-1107803155
GGGG123123
2005-02-07 22:05
2005.02.20
Как узнать был ли копирован файл?


14-1106976537
Aleksandr
2005-01-29 08:28
2005.02.20
Кто поёт?


4-1104321154
TankMan
2004-12-29 14:52
2005.02.20
Вот почему не работает WMI при установке винды?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский