Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Не дать пользователю закрыть окно [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]

Никак. Если захочу - закрою.


Наверх

Титульная страница Поиск, карта сайта Написать письмо