Главная страница
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.013 c
3-44573
corte ™
2003-06-20 09:57
2003.07.14
Как подключится к оракле без установки родного клиента


3-44592
Fuelfire
2003-06-21 06:33
2003.07.14
Memo-поле и Paradox


14-44898
Name
2003-06-27 17:25
2003.07.14
Помяните старого форумчанина Black Cat недавно погиб


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


3-44541
diokant
2003-06-18 14:13
2003.07.14
Подскажите как в DBGrid1 отображать только часть записей, а при