Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.021 c
14-44865
NickBat
2003-06-27 10:37
2003.07.14
BLOB & PHP & FIREBIRD


9-44530
Кен
2003-01-23 03:38
2003.07.14
Как в GLScene загрузить готовую 3D-карту уровеня из какой нибудь


1-44737
Soft
2003-07-01 13:19
2003.07.14
Как смапировать файл в память


1-44642
Tornado
2003-07-02 11:07
2003.07.14
работа с DLL, подскажите


1-44739
Валерий
2003-07-01 14:11
2003.07.14
Дата/время файла




   Наверх