Форум: "Основная";
Текущий архив: 2006.12.17;
Скачать: [xml.tar.bz2];
ВнизЗакрытие процесса Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.086 c