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

Вниз

Как получить список процессов из консольного или не имеющего окна   Найти похожие ветки 

 
anton_cor   (2003-04-22 15:31) [0]

Доброе время суток.
Мастера, помогите! Собственно сабж.
Пример взят из справки по WinAPI c http://www.soobcha.ru/rushelp
Беда в том, что если код выполняется в консольном приложение или не имеющем окна
(с соответствующими поправками на вывод результата), то не могу получить списк.
С чем это может быть связано?

Привожу сам код:

var
handler:thandle;
data:TProcessEntry32;

function return_name:string; // Вспомоготельная функция получения имени
var
i:byte;
names:string;
begin
names:="";
i:=0;
while data.szExeFile[i] <> "" do
begin
names:=names+data.szExeFile[i];
inc(i);
end;
return_name:=names;
end;

begin //Основная функция перечисления процессов
handler:=CreateToolhelp32Snapshot(TH32CS_SNAPALL,0);
if Process32First(handler,data) then
begin
memo1.Items.add(return_name);
while Process32Next(handler,data) do
memo1.Items.add(return_name);
end
else
showmessage("Ошибка получения информации :)");

CloseHandle(handler); //Хендл закрывать обязательно!!
end;


 
default   (2003-04-22 15:35) [1]

даа
Memo1 тут прям к месту...


 
jack128   (2003-04-22 15:45) [2]

data.dwSize := sizeof(data);
Вот это ты забыл.
aeyrция return_name - лишняя


 
jack128   (2003-04-22 15:46) [3]

aeyrция = функция :-)


 
anton_cor   (2003-04-22 16:46) [4]

>jack128
Спасибо, помогло! Если еще обяснишь почему это работало раньше, без задания размера структуры, то я буду благодарен еще больше!

На счет ф-ции согласен. Зачем ее в хелп тогда запихнули? :)


 
jack128   (2003-04-22 22:56) [5]

Не знаю как оно могло работать...
Я не знаю точно как инициализируются локал. переменные, но если там мусор, то тебе попал очень удачный мусор ..



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

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

Наверх





Память: 0.45 MB
Время: 0.008 c
14-7666
INTAARI
2003-06-16 19:22
2003.07.03
Спасибо за DCOM


1-7414
Oleg
2003-06-23 09:50
2003.07.03
Аварийное завершение программы


14-7658
INTAARI
2003-06-16 18:42
2003.07.03
Где можно взять WinSocket 2.0 и DCOM


1-7408
АлеКо
2003-06-23 08:16
2003.07.03
QReport


3-7333
snake1977
2003-06-10 10:32
2003.07.03
Advantage Database Server





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