![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Не дать пользователю закрыть окно [D7, Win2k]
Mapa3M © (2004-10-22 22:49:00)до какого либо события. Как сделать ??
Юрий Зотов (2004-10-23 07:32:00) [1]> Mapa3M
См. [3]. А чтобы программа нормально завершалась при завершении работы системы, еще понадобится обработчик WM_QUERYENDSESSION.
kaZaNoVa (2004-10-23 00:04:00) [2]Mapa3M (22.10.04 23:47) [10]
имхо .. сложно .. думаю .. очень сложно .. :))
Mapa3M (2004-10-22 23:47:00) [3]kaZaNoVa, сенкс, тока теперь бы его обратно включить :red: :)
kaZaNoVa (2004-10-22 23:32:00) [4]Gero © (22.10.04 23:28) [8]
ага .. user'у не дано килять Service ;)))
Gero (2004-10-22 23:28:00) [5]
kaZaNoVa ©
> данный пример РЕАЛЬНО закрывает любой процесс
Да ну.
Mapa3M (22.10.04 23:18)
> шарите ??
Неа, тута одни нешарящие тусуются.
kaZaNoVa (2004-10-22 23:23:00) [6]kaZaNoVa © (22.10.04 23:22) [6]
это я так раньше угарал .. - ваще прикольно - пользователи офигевали :)))
kaZaNoVa (2004-10-22 23:22:00) [7]Mapa3M (22.10.04 23:18) [5]
ага ..
Procedure KillWin53(windowName:string);
Var
hwndHandle : THANDLE;
hMenuHandle : HMENU;
begin
hwndHandle := FindWindow(nil,PChar(windowName));
if (hwndHandle <> 0) then begin
hMenuHandle := GetSystemMenu(hwndHandle, FALSE);
if (hMenuHandle <> 0) then
DeleteMenu(hMenuHandle, SC_CLOSE, MF_BYCOMMAND);
end;
End;
Mapa3M (2004-10-22 23:18:00) [8]блин, да я верю что вы крутые хацкера, просто мне нужно чтоб в тест был пройден до конца и не закрыт случайно. А именно хатю чтоб окно не реагировало на ALT+F4 и нажатие крестика (чучшеб его енейблом сделать). шарите ?? ((
Anatoly Podgoretsky (2004-10-22 23:15:00) [9]Mapa3M (22.10.04 22:49)
Зверь!
Но не надейся, против лома нет приема.
jack128 (2004-10-22 23:09:00) [10]событие OnCloseQuery
Кириешки (2004-10-22 23:00:00) [11]Нереально не дать закрыть окно
например
procedure TForm1.Button3Click(Sender: TObject);
begin
KillProgram(nil,pchar('Notepad');
end;
procedure KillProgram(ClassName: PChar; WindowTitle: PChar);
const
PROCESS_TERMINATE = $0001;
var
ProcessHandle : THandle;
ProcessID: Integer;
TheWindow : HWND;
begin
TheWindow := FindWindow(PChar(ClassName), PChar(WindowTitle));
GetWindowThreadProcessID(TheWindow, @ProcessID);
ProcessHandle := OpenProcess(PROCESS_TERMINATE, FALSE, ProcessId);
TerminateProcess(ProcessHandle,4);
end;
данный пример РЕАЛЬНО закрывает любой процесс. :)
Gero (2004-10-22 22:53:00) [12]Никак. Если захочу - закрою.