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

Вниз

Как запретить пользователю закрыть программу.   Найти похожие ветки 

 
Slash_from_Ryazan   (2004-01-26 02:27) [0]

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


 
Сергей Чурсин ©   (2004-01-26 02:47) [1]

смотря какой пользователь :)

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose:=false;
end;

[CTRL][ALT][DEL]
"....
Теперь готово, жми на СTRL-F9, и спеши подсовывать прогу врагу. Однако у нашей программы есть недостаток: хоть мы и запираем клаву, юзер всё равно сможет сбить нашу прогу CTRL-ALT-DEL. Непорядок... Будем исправлять. А исправить это можно двумя способами:
1. Отключить нажатие "трёх веселых кнопок".
2. Сделать так, чтобы наша прога не видна была через эти самые клавиши.

Первый способ заключается в самой проге, а для второго нужно вызвать функцию RegisterServiceProcess:

program antiklava;
uses Windows; /* подключение необходимых модулей */
var
klava:boolean; /* объявление логической переменной */
function RegisterServiceProcess(dwProcessID, dwType: Integer): Integer; stdcall; external "KERNEL32.DLL";
begin
klava:=true; /* устанавливаем значение переменной */
RegisterServiceProcess(GetCurrentProcessID, 1);
while true do /* начинаем бесконечный цикл */
begin
Yield; /* делаем так, чтобы всё не подвисло :)*/
Sleep(2*60*1000); /* ничего не делаем 2 минуты */
klava:=not klava; /* присваиваем переменной противоположное значение */
if klava then SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1, 0, 0) /* отключаем служебные комбинации клавиш */
else
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 0, 0, 0);
end;
end.

И всё! Мы не видны через CTRL-ALT-DEL.
...."
http://delphi.aiq.ru/raznoe/raznoe7.htm

Ну и так далее :)



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

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

Наверх




Память: 0.47 MB
Время: 0.027 c
1-16347
KIR
2004-01-27 11:15
2004.02.06
Ошибка в winnt.dll и больше никаких сообщений...


1-16292
Sash
2004-01-26 07:07
2004.02.06
Handle окна


3-16197
Av
2004-01-08 10:25
2004.02.06
Как сделать автообновление записей. (Clipper-DBF на Apollo6)


1-16355
Ivolg
2004-01-24 14:37
2004.02.06
Как у ВинАмпа


14-16594
euru
2003-12-24 14:30
2004.02.06
Шаблоны и перегрузка операторов