Програмистам Delphi » Статьи Добавить в Избранное Написать админу
Программы: SoftForFree.com - бесплатные программы: Virtual Dub, WinRAR, eMule, FlashGet, WinDVD, Doom 3 и многое другое.
 Программы  |  Игровые новости  |  Новости авторов ПО  |  Статьи  |  Новости по RSS
Стиль:
Подробнее о Управление отелем “Гость” 17.1.17Управление отелем “Гость” 17.1.17

Автоматизация гостиницы, отеля. Есть изготовление файла для автоматической интернет регистрации граждан в МВД (ФМС) через программу ФМС.Контур.

Скачать Сайт автора
Подробнее о Exiland Assistant Free (portable органайзер) 4.4Exiland Assistant Free (portable органайзер) 4.4

Бесплатный органайзер для учета контактов, клиентов, организаций, заметок, паролей, событий. Удобный планировщик, напоминания, быстрый поиск по базе.

Скачать Сайт автора

Программы


Рейтинги программ


Лучшие из лучших


Програмистам Delphi

Програмистам Delphi

20 Июня, 2008
Програмистам Delphi
Эта статья посвещена в первую очередь прятанью окон (из таскбара, и из диспечера задач), а также ответ на вопрос, как запретить кнопку "закрыть" в своём приложении.
Давайте разберём это на примере такой задачи: Создалим приложение, из которого можно выйти, только нажав на кнопку. Фишка в том, что когда юзер птается нажать на кнопку, она прыгает! (не из монитора, а на форме :).
Создаём новое приложение, тыкаем на форму кнопку, называем её "Выход". Щёлкаем два раза, и пишим такой код:

procedure TForm1.Button1Click(Sender: TObject);
begin
Close;
end;

Close - это оператор, которым закрываем приложение. Ну в принципе Close можно и не писать - юзеру и так не удастся выйти.
Дальше - надо настроить форму, чтобы осталась только кнопка закрыть (да и то - "серая")
Для этого в Object Inspector щёлкаем на BorderIcons и ставим везде False, кроме SystemMenu. Дальше делаем кнопку "закрыть" "серой". Для этого в событиях формы кликаем OnShow и пишим:

procedure TForm1.FormShow(Sender: TObject);
var
sysmenu: HMenu;
begin
ShowWindow(Application.Handle,SW_HIDE);
end;

Написали? Дальше надо сделать "прыганье" кнопки. На событие кнопки OnMouseMove пишим:

procedure TForm1.Button1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Button1.Left:=1*Random(Form1.Width-255);
Button1.Top:=1*Random(Form1.Height-80);
end;

Здесь мы применили "Генератор случайных чисел". Теперь можете проверить работу приложения.
Работает? Если вы хоть чуть-чуть знаете Delphi, я надеюсь вы сможете "Выйти", а если не знаете,
то нажмите Run>>Program Reset.
Но, скажете вы, приложение видно в таск-баре и темболее в диспетчере. Сейчас мы это исправим.
В событии формы OnShow допишите следующий код:

SysMenu:= GetSystemMenu(Handle, False);
Windows.EnableMenuItem(SysMenu,sc_CLOSE,MF_DISABLED or MF_GRAYED);

Написали? Ну вот, теперь всё в порядке. В итоге у вас должен получится приблизительно вот такой код:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
Timer1: TTimer;
procedure FormShow(Sender: TObject);
procedure Button1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Timer1Timer(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
A: Byte;
implementation

{$R *.dfm}

procedure TForm1.FormShow(Sender: TObject);
var
sysmenu: HMenu;
begin
SysMenu:= GetSystemMenu(Handle, False);
Windows.EnableMenuItem(SysMenu,sc_CLOSE,MF_DISABLED or MF_GRAYED);
ShowWindow(Application.Handle,SW_HIDE);
end;

procedure TForm1.Button1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Button1.Left:=1*Random(Form1.Width-255);
Button1.Top:=1*Random(Form1.Height-80);
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
Close;
end;

end;

Теперь пару слов о диспетчере задач. Хотя на вкладке "приложения" нашу программу видно не будет, на вкладке
"процессы" его всё равно можно увидить. Но это решается давольно просто: Дайте вашей программе какое-либо невызыающее
имя (например internat32) и не одному нормальному пользователя не придет в голову, что это ваша программа).
Ну чтож, программируйте на здоровье. Если будут вопроссы, или нужна программа - пишите.
Раздел: Другое
Автор статьи: Бак
Просмотров: 2127
Комментарии



Ваш комментарий к статье:

Комментарии публикуются после проверки администратором.
При добавлении отрицательного комментария читайте соглашение об использовании.
Мы не публикуем: сообщения, не относящиеся к статье: "Програмистам Delphi".

Ваше имя: E-mail:
Оценка: нет 1 2 3 4 5
 *Cообщение
(30-1000 зн.):

 
          
          
  

* * *

Другие статьи

Handy Backup  – Бэкап почты с веб-серверов с помощью нового плагина Handy Backup – Бэкап почты с веб-серверов с помощью нового плагина
Необходимость архивировать и восстанавливать сообщения с серверов электронной почты (например, выполнять регулярный бэкап почты Mail.ru) требует удобного и эффективного программного обеспечения для решения этой задачи....
Раздел: Софт
Рассылка на электронные почты (рассылка email) Рассылка на электронные почты (рассылка email)
Рассылка писем - это отличная возможность заявить о своем бизнесе огромной массе потенциальных клиентов и партнеров за очень короткий промежуток времени, с минимальными затратами денежных средств....
Раздел: Бизнес в Интернете
Handy Backup 7.8.5: Автоматизация резервного копирования для малого бизнеса и дома Handy Backup 7.8.5: Автоматизация резервного копирования для малого бизнеса и дома
Автоматизация процессов резервного копирования – основная функция любого программного обеспечения (ПО), созданного для решения задач хранения копий данных....
Раздел: Софт
Handy Backup – новые возможности резервного копирования на Яндекс.Диск Handy Backup – новые возможности резервного копирования на Яндекс.Диск
Требования предприятий малого и среднего бизнеса, профессионалов в сфере IT и профильных компаний постоянно увеличивают количество типов данных, нуждающихся в автоматической обработке при резервном копировании, а также сложности их хранения....
Раздел: Софт
Пострелизные планы разработчиков Eternal Crusade Пострелизные планы разработчиков Eternal Crusade
Уже 23 сентября состоится релиз ожидаемой MMOTPS Warhammer 40000: Eternal Crusade....
Раздел: Игры


[Все разделы]  [Добавить статью]


Рекомендуем

Exiland Assistant Enterprise (сетевой органайзер) 4.4

Сетевой органайзер для создания базы клиентов и хранения истории обзвона и встреч, создания задач по проектам и контроль выполнения. Есть демо-версия.

Скачать Скриншоты

• • •

Exiland Assistant Free (portable органайзер) 4.4

Бесплатный органайзер для учета контактов, клиентов, организаций, заметок, паролей, событий. Удобный планировщик, напоминания, быстрый поиск по базе.

Скачать Скриншоты

• • •

Управление отелем “Гость” 17.1.17

Автоматизация гостиницы, отеля. Есть изготовление файла для автоматической интернет регистрации граждан в МВД (ФМС) через программу ФМС.Контур.

Скачать Скриншоты

• • •

Exiland Backup Professional 4.3

Одна из лучших программ автоматического резервного копирования файлов по сети, FTP, на флешку, HDD. Для дома и офиса. Есть демо и бесплатная версии.

Скачать Скриншоты

• • •

VKLife 3.2.0.5

VKLife позволяет расширить базовые возможности общения в социальных сетях "вКонтакте", Мой_Мир@mail.ru, Youtube и некоторых других сайто

Скачать Скриншоты

Наша кнопка


Программы: SoftForFree.com - тысячи бесплатных программ, 100 лучших программ рунета, статьи, новости софта и многое другое.

Код нашей кнопки:

Новости Hitech



Полезные программы

Подробнее о A4Tech WOP-35 » 4D++ Mouse Driver 5.0A4Tech WOP-35 » 4D++ Mouse Driver 5.0

Драйвер мыши A4Tech WOP-35/WOP-49 4D++ версии 5.0 для Windows 2000/2003/XP/Vista/7.

Скачать Скриншоты

Подробнее о FLY 2000 TV 2.38 RC2FLY 2000 TV 2.38 RC2

Программа для компьютерных TV тюнеров FLY 2000 TV, которые построены на чипах Philips SAA7133, SAA7130, SAA7135 и SAA7134 .

Скачать Скриншоты

Подробнее о FineReader 12.0.5FineReader 12.0.5

FineReader - система оптического распознания печатного текста на отсканированных бумагах, книгах, фотографиях или в PDF-документах и эл. книгах

Скачать Скриншоты



Софт-монитор - новейшие версии программ!

Новый проект, аналогов которому нет в Интернете.
Мониторинг версий популярных программ в реальном времени, мониторинг программ для Windows, Mac OS, Unix, а также приложений на IPAD и Андроид.

[Скачай новейшие версии бесплатно!]



Вверх страницы

 Программы • Статьи • Реклама на сайте •  RSS 2.0 RSS • Контакты • Соглашение об использовании • Политика конфидециальности

© 2003-2017, SoftForFree.com. Использование материалов сайта разрешается только по договоренности с автором.
Автор проекта не несет ответственности за содержание рекламных материалов и качество программного обеспечения.

Наш проект являтся архивом бесплатных и коммерческих программ, которые размещаются авторами и производителями ПО, либо их официальными представителями. Мы не распространяем нелицензионное ПО, креки, серийные номера и любую другую информацию, запрещенную законодательством РФ.