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

Как закрыть чужой exe-шник из своей проги   Найти похожие ветки 

← →
Piero   (2003-04-07 10:25) [0]

Как закрыть чужой exe-шник из своей проги


← →
DVM ©   (2003-04-07 10:31) [1]

TerminateProcess годится?

function KillProcessByFileName(FileName:String):integer;
var
ContinueLoop:BOOL;
FSnapshotHandle:THandle;
FProcessEntry32:TProcessEntry32;
const
PROCESS_TERMINATE=$0001;
begin
Result:=0;
FSnapshotHandle:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
FProcessEntry32.dwSize:=Sizeof(FProcessEntry32);
ContinueLoop:=Process32First(FSnapshotHandle,FProcessEntry32);
while integer(ContinueLoop)<>0 do
begin
if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile))=UpperCase(FileName))
or (UpperCase(FProcessEntry32.szExeFile)=UpperCase(FileName))) then
Result:=Integer(TerminateProcess(OpenProcess(PROCESS_TERMINATE,BOOL(0),
FProcessEntry32.th32ProcessID),1));
ContinueLoop:=Process32Next(FSnapshotHandle,FProcessEntry32);
end;
CloseHandle(FSnapshotHandle);
end;



← →
Piero   (2003-04-12 14:43) [2]

а конкретнее про TProcessEntry32;


← →
Guerriero   (2003-04-12 18:52) [3]

uses TLHelp32


← →
Кох   (2003-04-22 14:45) [4]

Пояснил бы хоть.. чё написал-то...


← →
Кох   (2003-04-22 14:50) [5]

Описание:
TProcessEntry32 = packed record
dwSize: DWORD;
cntUsage: DWORD;
th32ProcessID: DWORD;
th32DefaultHeapID: DWORD;
th32ModuleID: DWORD;
cntThreads: DWORD;
th32ParentProcessID: DWORD;
pcPriClassBase: Longint;
dwFlags: DWORD;
szExeFile: array[0..MAX_PATH - 1] of Char;

end;
Описывает блок списка процессов в системном пространстве на момент снятия слепка.
dwSize: Размер структуры в байтах. Заполнять так ProcessEntry32:= sizeof(TProcessEntry32)
cntUsage: Счетчик ссылок на процесс. Процесс уществует пока счетчик выше нуля. Процесс завершается как только счетчик становиться равным нулю.
th32ProcessID: Идентификатор изучаемого процесса. Содержание этого элемента может быть использовано элементами Win32 API.
th32DefaultHeapID: Идентификатор кучи процесса по умолчанию. Содержание этого элемента имеет значение только для функций ToolHelp. Это не хендл и не пригоден к использованию элементами Win32 API.
th32ModuleID: Идетификатор модуля процесса. Содержание этого элемента имеет значение только для функций ToolHelp. Это не хендл и не пригоден к использованию элементами Win32 API.
cntThreads: Номер потока в котором стартовал процесс.
th32ParentProcessID: Идентификатор процесса, который породили изучаемый процесс. Содержание этого элемента может быть использовано элементами Win32 API.
pcPriClassBase: Базовый приоритет лубого потока, создаваемого этим процессом.
dwFlags: Зарезервированно.
szExeFile: Путь и имя исполняемого файла процесса.


← →
demonyator ©   (2003-04-22 22:25) [6]

Есть глючок в этом коде: explorer.exe не убивается. А если его нет - ТО ВООБЩЕ ЗАГРУЖАЕТСЯ КАК НИ В ЧЁМ НЕ БЫВАЛО....


← →
DVM ©   (2003-04-23 12:25) [7]


> Есть глючок в этом коде: explorer.exe не убивается. А если
> его нет - ТО ВООБЩЕ ЗАГРУЖАЕТСЯ КАК НИ В ЧЁМ НЕ БЫВАЛО....

а подумать самим чуть-чуть?


← →
joisy ©   (2003-04-23 16:44) [8]

Interesno kto-nibud proboval zakrivat drugoy process kak naprimer zapustiv udalenniy potok (CreateRemoteThread), a potom v nem spetsialno obratitysa k zashishennomu adresu v pamyati i svalit ego.



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

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



Память: 0.47 MB
Время: 0.011 c
8-7559
programmer_kia
2003-03-11 15:49
2003.07.03
конвертирование bitmap из RGB24 в YUY2(YUV422)...help


4-7754
il
2003-04-29 17:01
2003.07.03
Как узнать, есть ли в трее иконка чужого приложения?


14-7690
Alikm
2003-06-17 11:01
2003.07.03
Как сделать, чтобы прога на панели задач не висела?


6-7583
alik_os
2003-04-29 16:57
2003.07.03
список компьютером включенные в данный момент в локальной сети


1-7497
Zelius
2003-06-20 18:44
2003.07.03
Как программно открыть html файл и перейти на нужную закладку?




   Наверх