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

Вниз

Завершить (снять) приложение...   Найти похожие ветки 

 
jack_p   (2002-04-13 22:33) [0]

Есть программка в которой не стандартная обработка завершения работы, я так думаю, что автор насовал обработчиков в OnCloseQuery и не только... Посылка WM_CLOSE естественно не помогает. Буду признателен за советы как извне снять такую задачу.


 
SerVS ©   (2002-04-13 22:53) [1]

Terminate.

А если подробнее, то примерно так:
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;
естествено обработки ошибок я убрал, их поставишь сам


 
Song ©   (2002-04-14 11:19) [2]

2SerVS © (13.04.02 22:53)
Не надо так радикально :)

2jack_p (13.04.02 22:33)
Попробуйте WM_SYSCOMMAND, SC_CLOSE


 
sasha9 ©   (2002-04-14 22:18) [3]

или WM_DESTROY


 
SerVS ©   (2002-04-14 23:14) [4]

>Song ©
Просто нужен был код который бы закрывал, любые приложения и под вин2к и под вин98. А если посылать сообщение то ДОС программы (особенно в вин98) задают слишком много вопросов :)



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

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

Наверх




Память: 0.47 MB
Время: 0.011 c
3-23446
Siv_Soft
2002-06-14 12:49
2002.07.08
Использование fetch


3-23451
PTE
2002-06-14 13:57
2002.07.08
DBgrid что-то не понимаю. Может кто поделится исходником?


1-23567
DOG-ON-RUN
2002-06-27 02:09
2002.07.08
Есть задача - Помогите пожалуйста!


7-23818
alecs
2002-04-12 13:15
2002.07.08
Смена принтера в run-time


7-23797
Dankin
2002-04-07 14:51
2002.07.08
Такой-вот странный вопрос, Где находится курсор !!!!