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

Вниз

Закрытие процесса   Найти похожие ветки 

 
xman ©   (2003-04-28 21:12) [0]

Как закрыть нужный мне процесс, если я знаю только его имя?
пытался это осуществить через terminateprocess(handle,exitcode);
как тогда узнать handle процесса если есть только имя?

У меня в проге все процессы и длл показуются listbox"e в порядке их запуска.


 
Guerrillero ©   (2003-04-29 00:39) [1]

а как заполняешь listbox ?


 
xman ©   (2003-04-29 13:43) [2]

Я не помню. Вроде бы через какой-то enum*
короче выдает список процессов в порядке запуска и полным путем


 
xman ©   (2003-04-30 10:50) [3]

как закрыть процесс зная его только путь.

выводил я процессы в listbox так:
pe.dwSize:=SizeOf(pe);
hSnap:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
If Process32First(hSnap,pe) then begin
listbox1.Items.Add(pe.szExeFile);
While Process32Next(hSnap,pe) do listbox1.Items.Add (pe.szExeFile);
end;
form1.Label1.Caption:=form1.listbox1.Items.Strings[0];

HELP!


 
Guerrillero ©   (2003-04-30 13:40) [4]

не самый лучший способ, но работает:
1) Заполняешь:
var
PE: TProcessEntry32;
hSnap: THandle;
begin
ListBox1.Items.Clear;
PE.dwSize := SizeOf(TProcessEntry32);
hSnap := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
if hSnap = -1 then RaiseLastWin32Error;
if Process32First(hSnap,PE) then
begin
Listbox1.Items.AddObject(PE.szExeFile,TObject(PE.th32ProcessID));
while Process32Next(hSnap,PE) do
Listbox1.Items.AddObject(PE.szExeFile,TObject(PE.th32ProcessID));
end;
CloseHandle(hSnap);

2) закрыть процесс:
function TForm1.TerminateProcessEx(const AItemIndex: Integer): Boolean;
var
ID: Cardinal;
hProcess: THandle;
begin
Result := False;
ID := Cardinal(ListBox1.Items.Objects[AItemIndex]);
hProcess := OpenProcess(PROCESS_TERMINATE,FALSE,ID);
if hProcess = 0 then RaiseLastWin32Error;
Result := TerminateProcess(hProcess,0);
CloseHandle(hProcess);
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.021 c
4-44952
sapsi
2003-05-13 10:55
2003.07.14
Список всех функций внутри ДЛЛ


6-44791
nv-vetal
2003-05-09 17:13
2003.07.14
Подскажите, как создать интернет-приложение, используя ...


3-44555
rosl
2003-06-20 04:16
2003.07.14
SQL


1-44717
BillyJeans
2003-06-23 11:47
2003.07.14
Как нажатием на кнопку прервать программный цикл?


1-44703
Demetrius2003
2003-07-01 01:06
2003.07.14
Invalid Floating operation ???