Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TerminateProcess


engine ©   (2008-04-04 19:23:00) 

Объясните неграмотному, что я делаю не так?
  lppe.dwSize := SizeOf(lppe);
 hSnapShot := CreateToolHelp32SnapShot(TH32CS_SNAPALL, 0);
 try
   if Process32First(hSnapShot, lppe) then
     while Process32Next(hSnapShot, lppe) do
       if ANSIUpperCase(lppe.szExeFile) = ANSIUpperCase(pName) then
         Win32Check(TerminateProcess(lppe.th32ProcessID, 0));
 finally
   CloseHandle(hSnapShot);
 end;


Win32Check говорит, что неверный дескриптор.


Сергей М.   (2008-04-04 20:13:00) [1]

Да.


engine   (2008-04-04 20:07:00) [2]

В догонку еще один вопрос:
Если я с помощью OpenProcess получил хэндл и сделал ему TerminateProcess,
обязательно ли после этого делать CloseHandle?


engine   (2008-04-04 19:58:00) [3]

Сергей, спасибо за «тонкий» намек в первом ответе. Разобрался :)


Сергей М.   (2008-04-04 19:52:00) [4]

А справку ты уже проштудировал ?


engine   (2008-04-04 19:51:00) [5]

А как тогда мне завершить процесс, зная его th32ProcessID?


Сергей М.   (2008-04-04 19:40:00) [6]

Конечно неверный !

Ты разве дескрипторпередаешь первым параметром ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо