Вниз
Скачать: CL | DM;

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

← →
GEN++ ©   (2006-11-01 15:15) [0]

Такая проблема:
Есть имя процесса надо его закрыть, как это можно зделать?


← →
Сергей М. ©   (2006-11-01 15:40) [1]

А если процесс нехочет, чтобы его закрыли без ведома самого процесса ?


← →
GEN++ ©   (2006-11-01 15:44) [2]

Он еще как хочет но чтобы его закрыть надо его handler а как его можно по названию получить?


← →
Jeer ©   (2006-11-01 15:47) [3]


> как это можно зделать?


Процесс просто требует лучшего знания хотя бы русского языка.


← →
Dmitrij_K   (2006-11-01 15:54) [4]

что-то типа
SendMessage(FindWindow(nil,"Заголовок"),WM_CLOSE,0,0);


← →
Stanislav ©   (2006-11-01 16:00) [5]

Dmitrij_K   (01.11.06 15:54) [4]
А если у него нет окна?


← →
Сергей М. ©   (2006-11-01 16:20) [6]


> Он еще как хочет


Если уж так хочет, пусть сам по себе и завершается.
Зачем его подталкивать к смерти принудительно ? Чем это обосновано в твоем случае ?


← →
Gero ©   (2006-11-01 16:41) [7]

TerminateProcess


← →
Lamer@fools.ua ©   (2006-11-01 16:43) [8]

>Есть имя процесса надо его закрыть, как это можно зделать?

EnumProcesses (или Process32First + Process32Next) + TerminateProcess


← →
GEN++ ©   (2006-11-01 16:48) [9]

а можно пример?


← →
Gero ©   (2006-11-01 16:51) [10]

> [9] GEN++ ©   (01.11.06 16:48)

А сам не хочешь попробовать сделать?


← →
GEN++ ©   (2006-11-01 16:57) [11]

я уже пробовал у меня получается не то что мне нужно.
Мне необходимо быстро завершить процесс. Примерно так-же как через Ctrl+alit+delete. Чтобы процесс закрывался моментально.


← →
Anatoly Podgoretsky ©   (2006-11-01 17:02) [12]

> GEN++  (01.11.2006 16:57:11)  [11]

> Ctrl+alit+delete.

У тебя 9x
В XP это ничего не закрывает, а из диспетчера программ, уж как повезет может
и мгновенно, а может подождать придется довольно долго.


← →
Gero ©   (2006-11-01 17:05) [13]

> [11] GEN++ ©   (01.11.06 16:57)

Он завершает именно через TerminateProcess, не сомневайся.


← →
GEN++ ©   (2006-11-01 17:55) [14]

темнемение пример не помишает


← →
Gero ©   (2006-11-01 18:13) [15]

> [14] GEN++ ©   (01.11.06 17:55)

TerminateProcess(Process, 0);


← →
DVM ©   (2006-11-01 18:17) [16]

function KillTask(FileName: string): boolean;
var
 ContinueLoop: BOOL;
 SnapshotHandle: THandle;
 ProcessEntry32: TProcessEntry32;
begin
 result := false;
 SnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
 ProcessEntry32.dwSize := Sizeof(ProcessEntry32);
 ContinueLoop := Process32First(SnapshotHandle, ProcessEntry32);
 while integer(ContinueLoop) <> 0 do
 begin
   if ((UpperCase(ExtractFileName(ProcessEntry32.szExeFile)) = UpperCase(FileName))
     or (UpperCase(ProcessEntry32.szExeFile) = UpperCase(FileName))) then
       begin
         Result := ProcessTerminate(ProcessEntry32.th32ProcessID);
       end;
   ContinueLoop := Process32Next(SnapshotHandle, ProcessEntry32);
 end;
 CloseHandle(SnapshotHandle);
end;


← →
DVM ©   (2006-11-01 18:19) [17]

function ProcessTerminate(dwPID: Cardinal): boolean;
var
 hProcess: THandle;
begin
 result := false;
 hProcess := OpenProcess(PROCESS_TERMINATE, FALSE, dwPID);
 if hProcess = 0 then exit;
 if not TerminateProcess(hProcess, DWORD(-1)) then
   begin
     CloseHandle(hProcess);
     exit;
   end;
 CloseHandle(hProcess);
 Result := true;
end;



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

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



Память: 0.48 MB
Время: 0.027 c
2-1164619364
TIF
2006-11-27 12:22
2006.12.17
Помогите!!! Двоичное - в обычное


15-1164368061
sergey888
2006-11-24 14:34
2006.12.17
Что-то я не пойму про НДС


2-1164280256
ka1n
2006-11-23 14:10
2006.12.17
Событие для ListBox


15-1164540601
Nic
2006-11-26 14:30
2006.12.17
Nokia N70 (or N72) vs SE K750 (or K790 or W810)


15-1164392721
antonn
2006-11-24 21:25
2006.12.17
Протестируйте, пожалуйста, скрипт




   Наверх