Главная страница
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.018 c
3-7357
inspirion
2003-06-10 22:19
2003.07.03
Перехват данных


3-7345
alexander_ua
2003-06-09 17:23
2003.07.03
Paradox и Win2000


14-7593
Leo^Sun
2003-06-14 13:10
2003.07.03
Вывод на экран больших чисел


14-7708
Delirium
2003-06-17 16:05
2003.07.03
C# Builder vs VS.Net 2003


14-7688
RDA
2003-06-14 18:49
2003.07.03
Идентичность отпечатков пальцев