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

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

Скачать Сайт автора
Подробнее о Memo Repair 4x4 «Сервисный Центр» от 09.04.2017 г.Memo Repair 4x4 «Сервисный Центр» от 09.04.2017 г.

Бесплатная программа для Сервисного Центра. Любое кол-во мастерских, SMS и e-mail уведомления, настройка шаблона квитанции, чеки на POS принтер.

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

Программы


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


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


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



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

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

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

 
          
          
  

* * *

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

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


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


Рекомендуем

Риэлтор 2.8.5

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

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

• • •

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

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

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

• • •

WebClapper 3.0

Невероятно простая и удобная в использовании программа для записи видео и фото с веб-камеры. Позволяет записывать видео и фото уже в сжатом виде.

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

• • •

Входящие Исходящие АСКИДL 17.2.14

Входящие и Исходящие документы и контроль исполнения решений с печатью адресов на конвертах.

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

• • •

Windows Media Player 11

Windows Media Player (WMP) - стандартный бесплатный плеер видео и звука, входящий в состав всех систем MS Windows, начиная с Win 98 SE.

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

Наша кнопка


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

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

Новости Hitech



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

Подробнее о FullUpdate 2017.04.25FullUpdate 2017.04.25 Новейшая версия

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

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

Подробнее о EgoSteam 2017.04.25EgoSteam 2017.04.25 Новейшая версия

EgoSteam - программа для поиска Steam-игр в десятках интернет-магазинов. Поможет сэкономить время и деньги и купить игру дешевле, чем в Steam.

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

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

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

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



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

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

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



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

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

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

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