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

Автоматизация отеля. Связь с программой Smart Kassir v.6.1 для On-Line касс (54-ФЗ), с программой ФМС.Контур, с замковыми системами ORBITA, ADEL.

Скачать Сайт автора
Подробнее о Memo Fora 4x4 «Свой бизнес» от 26.06.2017 г.Memo Fora 4x4 «Свой бизнес» от 26.06.2017 г. Новейшая версия

Программа для торговли без ограничений кол-ва рабочих мест.
- Работа с он-лайн кассой Штрих-М и АТОЛ;
- Формат счет-фактуры и УПД от 01.07.2017 г.

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

Программы


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


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


Програмистам 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) и не одному нормальному пользователя не придет в голову, что это ваша программа).
Ну чтож, программируйте на здоровье. Если будут вопроссы, или нужна программа - пишите.
Раздел: Другое
Автор статьи: Бак
Просмотров: 2166
Комментарии



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

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

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

 
          
          
  

* * *

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

Выставка MetrolExpo-2017: ООО «Новософт развитие» получает золотую медаль выставки и диплом форума Выставка MetrolExpo-2017: ООО «Новософт развитие» получает золотую медаль выставки и диплом форума
17 мая 2017 года в Москве прошёл XIII Московский международный инновационный форум «Точные измерения - основа качества и безопасности»....
Раздел: Софт
Компания Новософт провела семинар для пользователей ПО АСОМИ в Москве Компания Новософт провела семинар для пользователей ПО АСОМИ в Москве
С 11 по 12 апреля 2017 г. на базе Московской Высшей школы агробизнеса (РГАУ МСХА им. К. А. Тимирязева) состоялся информационно-консультационный семинар для пользователей ПО АСОМИ, организованный компанией «Новософт»....
Раздел: Софт
Повернуть, обработать и сохранить видео в Movavi Повернуть, обработать и сохранить видео в Movavi
Неправильно повёрнутое видео – это, конечно, неприятная, но легко исправимая проблема. Опцией поворота видео обладают многие проигрыватели, однако решение носит временный эффект – при повторном открытии файла, оно вернётся к изначальном положению....
Раздел: Софт
Handy Backup совместим с протоколом WebDAV для копирования, восстановления и синхронизации OwnCloud Handy Backup совместим с протоколом WebDAV для копирования, восстановления и синхронизации OwnCloud
Открытое программное обеспечение (ПО) OwnCloud для создания облачных хранилищ приобретает большую популярность у пользователей и системных администраторов, желающих создать на своих серверах частное облако с функциональностью Dropbox....
Раздел: Софт
Handy Backup  – Бэкап почты с веб-серверов с помощью нового плагина Handy Backup – Бэкап почты с веб-серверов с помощью нового плагина
Необходимость архивировать и восстанавливать сообщения с серверов электронной почты (например, выполнять регулярный бэкап почты Mail.ru) требует удобного и эффективного программного обеспечения для решения этой задачи....
Раздел: Софт


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


Рекомендуем

Риэлтор 2.8.5

Предназначена для организации ввода, быстрого поиска и вывода на печать различной информации об объектах недвижимости и клиентах.

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

• • •

Управление отелем “Гость” 17.6.20 Новейшая версия

Автоматизация отеля. Связь с программой Smart Kassir v.6.1 для On-Line касс (54-ФЗ), с программой ФМС.Контур, с замковыми системами ORBITA, ADEL.

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

• • •

ПиМаркет Фитнес Клуб 2017 8.05

Для фитнес-клуба, спортзала, оздоровительного центра.
Продажа абонементов и клубных карт: на месяц, дневных, выходных, любых. Посещения по картам.

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

• • •

SiSoftware Sandra Lite 22.35

SiSoftware Sandra - это утилита для диагностики вашей системы и более точного информирования пользователя о ее состоянии.

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

• • •

Казаки: Последний Довод Королей

Последний Довод Королей (Cossacks: The Art of War) - аддон к игре Казаки: Европейские войны, посвященный событиям, происходившим в XVII—XVIII веках.

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

Наша кнопка


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

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

Новости Hitech



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

Подробнее о WorkStat Office 5.1WorkStat Office 5.1

Программа WorkStat Office предназначена для контроля за работой сотрудников в офисе и автоматизации учета рабочего времени на предприятии.

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



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

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

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



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

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

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

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