Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.03;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.021 c
1-7450
Darrin
2003-06-23 14:39
2003.07.03
Создание компонент


14-7635
Кен
2003-06-14 06:11
2003.07.03
Где в сети можно БЫСТРО получить бесплатный мэйл и не древовидный


1-7484
Evil_forever
2003-06-19 23:52
2003.07.03
---|Ветка была без названия|---


14-7713
Hooch
2003-06-17 14:59
2003.07.03
ToolBar


1-7386
Onward
2003-06-22 23:07
2003.07.03
Как можно изменить размеры клиентской области рабочего стола?