Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.124 c
3-1160601200
Vadim31
2006-10-12 01:13
2006.12.17
ADOQuery.Event


2-1164742988
Kostafey
2006-11-28 22:43
2006.12.17
Повторное использование результата SQL-запроса


15-1164372798
grisme
2006-11-24 15:53
2006.12.17
легкий по весу GUI


2-1164961272
Alex_C
2006-12-01 11:21
2006.12.17
Как пищать динамиком?


15-1164451566
furyz
2006-11-25 13:46
2006.12.17
PHP<-->RSS





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский