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

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

Как убить процесс, зная его Handle? [D6, Win95/98, WinXP]


KDenis ©   (2003-02-10 23:07:00) 

Как пользоватся функцией TerminateProcess, зная только Handle программы?


KDenis   (2003-02-12 11:20:00) [1]

Все работает, спасибо!
thanks! :)))))))))))))))))))))))))))))


jack128   (2003-02-11 23:52:00) [2]

у тя в pe.th32ProcessID храниться id процесса
нужно его (процесс) открыть OpenProcess(...) - получишь хендл процесса
потом терминейтишь его TerminateProcess(...) и закрываешь хендл
CloseHandle(...)


KDenis   (2003-02-11 22:09:00) [3]

Меня кто-то слишит??????????????????????


KDenis   (2003-02-11 18:24:00) [4]

Заполняю так:
{$A-}
frmAddHandle.lbProcList.Clear;
pe.dwSize:=SizeOf(pe);
hSnap:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
If Process32First(hSnap,pe) then begin
frmAddHandle.lbProcList.Items.Add(pe.szExeFile);
While Process32Next(hSnap,pe) do
frmAddHandle.lbProcList.Items.Add(pe.szExeFile);
end;
{$A+}


Что тут, где и к чему, не спрашивай, я не знаю. Просто нашел где-то в интернете, и подставил свои переменные


Игорь Шевченко   (2003-02-11 17:36:00) [5]

А как ты ListBox заполняешь и что у тебя там ?


KDenis   (2003-02-11 17:29:00) [6]

А как узнать этот handl зная строку?


Игорь Шевченко   (2003-02-11 17:24:00) [7]

Все не так. Handle это число, а не строка


KDenis   (2003-02-11 16:41:00) [8]

Воспользовался... неработает!
Вот, допустем запущен у меня Excel, тогда я беру хедл этого процесса( EXCEL.EXE) и делаю следующее:
terminateProcess(cardinal(form1.lbPcocesses.Items[x]),0);

где form1.lbPcocesses- это ListBox, в котором список процессов, а x- номер строки.

Что тут нетак?


jack128   (2003-02-11 04:50:00) [9]

у программы хендла нет.
если это хендл процесса,
то так и пользуйся TerminateProcess(hProcess,0)


Наверх

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