Главная страница
    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.029 c
1-1107341229
XAN
2005-02-02 13:47
2005.02.20
Shut Down


1-1107759093
Wood
2005-02-07 09:51
2005.02.20
Индикация процессов


3-1106577778
DimonNew
2005-01-24 17:42
2005.02.20
Сохранение файлов в BLOB поле


1-1107343940
Neznaika
2005-02-02 14:32
2005.02.20
Z-последовательность


14-1106910286
Aleksandr
2005-01-28 14:04
2005.02.20
Неправильно идут часы на компьютере...





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский