Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.20;
Скачать: CL | DM;

Вниз

delphi   Найти похожие ветки 

 
gans1   (2005-11-05 22:38) [0]

Помогите! Как в Delphi програмным путем завершить процесс Explorer.exe желательно в примере. Заранее спасибо.


 
programania ©   (2005-11-06 01:00) [1]


uses ...tlHelp32, shellApi, psApi,...

var
handler:thandle;
data:tagPROCESSENTRY32;
hProc:THandle;

function KillProcess(ProcessID: DWORD): boolean;
var
hProcess: THandle;
hToken: THandle;
Priv,PrivOld: TOKEN_PRIVILEGES;
cbPriv: DWORD;
dwError: DWORD;
begin
hProcess:=OpenProcess(PROCESS_TERMINATE,false,ProcessID);
if hProcess = 0 then
begin
 cbPriv:=SizeOf(PrivOld);
 // Для Win2k
 OpenThreadToken(GetCurrentThread,TOKEN_QUERY or TOKEN_ADJUST_PRIVILEGES,false,hToken);
 OpenProcessToken(GetCurrentProcess,TOKEN_QUERY or  TOKEN_ADJUST_PRIVILEGES,hToken);
 //
 Priv.PrivilegeCount:=1;
 Priv.Privileges[0].Attributes:=SE_PRIVILEGE_ENABLED;
 LookupPrivilegeValue(nil,"SeDebugPrivilege",Priv.Privileges[0].Luid);
 AdjustTokenPrivileges(hToken,false,Priv,SizeOf(Priv),PrivOld,cbPriv);
 hProcess:=OpenProcess(PROCESS_TERMINATE,false,ProcessID);
 dwError:=GetLastError;
 cbPriv:=0;
 AdjustTokenPrivileges(hToken,false,PrivOld,SizeOf(PrivOld),nil,cbPriv);
 CloseHandle(hToken);
end;
TerminateProcess(hProcess,$FFFFFFFF);
CloseHandle(hProcess);
Result:=true;
end;

.........

handler:=createtoolhelp32snapshot(TH32CS_SNAPALL,0);
data.dwSize:=sizeOf(data);
if handler>0 then begin
if process32first(handler,data) then begin
 repeat
   if data.szExeFile="EXPLORER.EXE" then KillProcess(data.th32ProcessID);
 until not process32next(handler,data);
end;
CloseHandle(handler);
end;



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

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

Наверх




Память: 0.46 MB
Время: 0.115 c
2-1131189872
Kostafey
2005-11-05 14:24
2005.11.20
Программа то работает, то не работает на разных PC


3-1128954616
Juice
2005-10-10 18:30
2005.11.20
ClientDataSet не синхрон. с TSQLDataSet


9-1120168841
ГугльМэп
2005-07-01 02:00
2005.11.20
А нет ли какого нибудь алгоритма, чтобы находить крыши домов на


14-1130473666
PZ
2005-10-28 08:27
2005.11.20
Билл Гейтс - с днем рождения


6-1123507959
Lesha_
2005-08-08 17:32
2005.11.20
Работа с КПК через WiFi