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

Вниз

CreateToolhelp32Snapshot возвращает неверный дескриптор   Найти похожие ветки 

 
Piter ©   (2004-01-18 01:33) [0]

Вот код:

<ocde>ProcessArray: array of TProcessEntry32;
...
ar HSnapShot: THandle;
Flag:boolean;
begin
HSnapShot:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
setlength(ProcessArray,1);
ProcessArray[0].dwSize:=sizeof(ProcessEntry32);
Flag:=Process32First(HSnapShot,ProcessArray[0]);
while Flag do
begin
setlength(ProcessArray,length(ProcessArray)+1);
ProcessArray[High(ProcessArray)].dwSize:=sizeof(ProcessArray[i]);
Flag:=Process32Next(HSnapShot,ProcessArray[High(ProcessArray)]);
end;
closehandle(HSnapShot);

После этого функции типа TerminateProcess и GetExitCodeProcess возвращают для ProcessArray[i].th32ParentProcessID ошибку "Неверный дескриптор"


 
Piter ©   (2004-01-18 16:38) [1]

Мастера, помогайте. Не мастера тоже помогайте! :)


 
Piter ©   (2004-01-19 00:33) [2]

Блин, может я код кривой привел?


 
DrPass ©   (2004-01-19 00:39) [3]

Да нет, просто для TerminateProcess и иже с ним нужен дескриптор процесса. А Process32xxx возвращают не дескриптор, а ProcessID. Получить искомый дескриптор нужно вызовом OpenProcess


 
Piter ©   (2004-01-19 02:02) [4]

Эх, спасибо тебе, DrPass. Один ты помогаешь...



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

Текущий архив: 2004.02.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
14-16633
Alex Konshin
2004-01-06 11:26
2004.02.06
Тестирование и сборка. Продолжение последовало.


8-16528
Raduga
2003-10-01 11:00
2004.02.06
Как убрать мерцание при перерисовке?


14-16588
Домарощинер
2004-01-15 18:58
2004.02.06
Глюки с сетевухой


3-16106
Serge N
2004-01-09 16:00
2004.02.06
Проблема с ClientDataSet + Oracle (поле типа Date)


14-16685
Blender
2004-01-17 13:15
2004.02.06
Internet Explorer