Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.17;
Скачать: 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 вся ветка

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

Наверх




Память: 0.5 MB
Время: 0.035 c
2-1164628470
Cooller
2006-11-27 14:54
2006.12.17
Наименьший делитель


2-1164531743
SamProf
2006-11-26 12:02
2006.12.17
Как юзать TMutex в Delhi 2006


2-1164637428
@gent
2006-11-27 17:23
2006.12.17
реестр


15-1164399477
Некто
2006-11-24 23:17
2006.12.17
Работа с *.xls как с базой данных


1-1162441631
Tex
2006-11-02 07:27
2006.12.17
Подсвечивание заголовков в PageCotrol