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

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

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

Учет в торговой фирме / Сервисном Центре. Конструктор ценников, отчеты по шаблонам, затраты, CRM, печать чеков на POS принтер и SMS информирование.

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

Программы


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


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


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



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

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

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

 
          
          
  

* * *

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

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


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


Рекомендуем

ПиМаркет 2017 - учёт товара 8.00

Удобная программа для магазина: печать ценников и чеков, данные о наличии товара, продажах, недостачах и многое другое. Любые товары.

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

• • •

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

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

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

• • •

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

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

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

• • •

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

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

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

• • •

WebClapper 3.0

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

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

Наша кнопка


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

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

Новости Hitech



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

Подробнее о FullUpdate 2017.03.11FullUpdate 2017.03.11

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

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

Подробнее о EgoSteam 2017.02.01EgoSteam 2017.02.01

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

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

Подробнее о WebClapper 3.0WebClapper 3.0

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

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


WorkStat - Контроль рабочего времени

Удобная и невероятно эффективная программа контроля рабочего времени. Фиксирует все, что делают сотрудники за компьютерами. С точностью до секунды WorkStat отслеживает время работы, запуск программ и приложений, просмотр веб-сайтов и работу с документами.

[Официальный сайт программы] [Скачать]



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

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

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

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