Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.21;
Скачать: [xml.tar.bz2];




Вниз

Как определить? 


MARcoDEN   (2002-01-19 12:28) [0]

Подскажите, пожалуйста, как можно определить, запущена ли определенная программа (допустим, project.exe) в данный момент? А также как можно "убить" работающую программу?



BWG   (2002-01-19 13:12) [1]

Перебираешь список процессов если известно только имя exe`шника.
Перебираешь окна верхнего уровня если известно его имя или мия его класса.
А убить - послать сообщение этому процессу.



MARcoDEN   (2002-01-20 09:41) [2]

Теоритечески понятно, но на практике? Может пример приведете, если несложно? Буду очень благодарен!



ggrisha   (2002-01-23 17:14) [3]

Держи пример.

Uses TlHelp32;
procedure KillProcess(const FileName:string);
var h,hpr:THandle;
pe:PROCESSENTRY32;
begin
h:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
pe.dwSize:=SizeOf(pe);
Process32First(h,pe);
repeat
if pe.szExeFile=FileName then begin
hpr:=OpenProcess(PROCESS_TERMINATE,true,pe.th32ProcessID);
TerminateProcess(hpr,0);
MessageBox(0,"Процесс уничтожен","",0);
CloseHandle(h);
exit;
end;
until not Process32Next(h,pe);
MessageBox(0,"Процесс не найден","",0);
CloseHandle(h);
end;




Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.21;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.024 c
14-66971          Леша                  2002-02-06 07:20  2002.03.21  
Прелагаю обсудить курьезы в фантастических произведениях и ответить на вопрос: Нужна ли логига в фонт. произведении?


3-66771           dimack                2002-02-22 11:52  2002.03.21  
Быстрый перенос содержимого таблиц из одной БД в другую


1-66854           iPen                  2002-03-05 12:23  2002.03.21  
Программное свешивание в ячейке DBGrid-а


1-66816           user_                 2002-03-07 08:45  2002.03.21  
Как узнать код комбинации Alt+Enter?


14-67017          McSimm                2002-02-05 17:10  2002.03.21  
Задачка о перемене мест слагаемых