
- •Занятие 4. "Версткаweb-страницы с помощью html и css"
- •Index.Html, fon.Png, prog.Jar
- •Занятие 6. "Создание поздравительного блокировщика Windows.Реализация интерфейса"
- •Import javax.Swing.*;
- •Import java.Awt.*;
- •Import java.Awt.Event.*;
- •Import javax.Swing.*;
- •Import java.Awt.*;
- •Import java.Awt.Event.*;
- •// Отключение выведение рамки окна -
- •If (str.Equals(test))
- •Занятие 7. "Создание поздравительного блокировщика Windows.Завершение"
- •Import javax.Swing.*;
- •Import java.Awt.*;
- •Import java.Awt.Event.*;
- •// Подключение обработчика события при закрытии окна
- •Занятие 8. "Визуальные средства разработки. Создание интерфейса приложения"
- •Занятие 9. "Работа с файловой системой из Java. Создание,удаление, переименование файлов"
- •If (str.IsEmpty())
- •Занятие 11. "Базы данных.Язык запросов sql. Работа с базой данных MySqLиз Java"
- •Import java.Sql.*;
Занятие 6. "Создание поздравительного блокировщика Windows.Реализация интерфейса"
На этом занятии мы познакомимся с реестром Windows и начнем создавать поздравительное приложение – блокировщик. Приложение – блокировщик при запуске операционной системы блокирует экран, и пользователь не может прервать или закрыть это приложение.
Для создания поздравительного блокировщика нам нужно будет познакомиться с РеестромWindows, выяснить его сновное предназначение и принцип работы.
Реестр–это большое хранилище, своего рода база данных, в которой хранятся все настройки операционной системы, информация обо всех установленных приложениях и их настройках, информация о настройках оборудования, а также о настройках пользователей, и их предпочтениях.
Сначала немного поговорим об истории появления реестра и о том, что предшествовало его появлению.
Начиная с операционной системы MS-DOS,появившейся раньше Windows, для хранения информации использовался файл CONFIG.SYS. Именно в этот файл записывались основные настройки конфигурации, загружаемые при загрузке операционной системы MS-DOS. Тогда настроек было значительно меньше, файла CONFIG.SYS вполне хватало. С выходом первых новых операционных систем,в частности Windows 3.1,для этих целей уже использовался файл WIN.NI. В него записывались настройки конфигурации операционной системы Windows.
И, наконец, с выходомWindows 95, появился реестр, используемый и сегодня. Реестр физически находится в нескольких файлах.
Откроем реестр,посмотрим, как он выглядит. Для этого воспользуемся командой regedit, открывающей редактор по работе с реестром. Нажимаем на кнопку "Пуск"и выбираем команду "Выполнить". Если эта команда отсутствует в списке(см. рис.6.1), необходимо при помощи настройки отобразить её в списке.
Рис. 6.1
Для этого в правой части окна нажимаем правую клавишу мыши(см. рис. 6.2), нажимаем на"Свойства".
Рис. 6.2
Сверху выбираем закладку "Меню "Пуск"(см. рис.6.3).
Рис. 6.3
Здесь мы нажимаем кнопку"Настроить"(см. рис.6.4):
Рис. 6.4
Теперь переходим на закладку "Дополнительно"(см. рис. 6.5).
Рис. 6.5
Здесь присутствует список того, что отображается в меню"Пуск". Пролистываем этот список и находим команду "Выполнить". Устанавливаем галочку (см. рис. 6.6), нажимаем "ОК", ещё раз "ОК".
Рис. 6.6
Появилась команда"Выполнить". Для операционной системы Windows 7эта настройка производится похожим образом.
Если данная команда отображается по умолчанию, её сразу нужно запустить (см. рис. 6.7):
Рис. 6.7
Здесь необходимо ввести команду, запускающую редактор реестра,команду regedit.Набираем regedit(см. рис. 6.8),нажимаем клавишу Enter, открывается редактор реестра.
Рис. 6.8
Редактор реестра представляет из себя два окна (см. рис. 6.9).
Рис. 6.9
В левой части находятся,так называемые, главные ветви реестра, или глобальные ветви. Эти ветви являются корневыми, они неизменны. Их нельзя ни удалять, ни модернизировать.Охарактеризуем вкратце корневые ветви. Мы видим пять корневых ветвей реестра.
Первая ветвь: HKEY_CLASSES_ROOT.
В этой ветви реестра прописаны расширения файлов, используемые в операционной системе, также прописано соответствие, какие приложения могут открывать какие типы файлов; представлены настройки некоторых приложений.
Вторая ветвь –HKEY_CURRENT_USER.
В ней содержатся настройки текущего пользователя.
Третья ветвь: HKEY_LOCAL_MACHINE.
Эта ветвь объемна, она содержит много информации. Здесь находится информация по всем настройкам, связанным с компьютером.
Четвёртая ветвь – HKEY_USERS.
В ней содержатся предпочтения пользователей.
И, наконец, пятая ветвьHKEY_CURRENT_CONFIG.
Содержит настроечную информацию об оборудовании.
Реестр представляет собой древовидную структуру, напоминающую файловую систему: если открыть глобальную ветвь реестра, можно увидеть список папок,напоминающих директории файловой системы.Эти папки называются ветвями реестра. Они не являются корневыми, их можно изменять,переименовывать, удалять или добавлять новые.
При вхождении в каждую новую ветвь, мы продвигаемся дальше по древовидной структуре. Архитектура здесь такая же, как у файловой системы.
В глобальной ветви реестра по умолчанию отображается пять ветвей, всего в реестре их семь. Две ветви не отображаются в редакторе реестра, т. к.предназначены для несколько иных целей, но они доступны из языка программированияJava.
Редактор реестра позволяет работать с реестром в качестве администратора, менять настройки.
Вносить изменения в реестр можно также из программного кода из языка Java:добавлять ветви реестра, удалять их,переименовывать, делать другие манипуляции.
Основной функционал реестра–это ветви реестра.
Если зайти глубже,открыв очередную ветвь, можно увидеть, что ветви реестра содержат вложенную информацию, называемую параметры реестра.
Рассмотрим пример.
Откроем глобальную ветвь HKEY_LOCAL_MACHINE.
Далее, открываем ветвьSOFTWARE–это программное обеспечение.
Выбираем ветвь Microsoft, открываем её,заходим внутрь.
Выбираем ветвь Windows, далее, ветвьCurrentVersion,открываем.
В списке ветвей внутриCurrentVersion находим ветвь Run.
Для того чтобы получить доступ к какой-то ветви, нужно знать к ней путь. Путь к ветви реестра Runзаписывается следующим образом:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run.
Ветви реестра здесь разделяются точно так же, как папки файловой системы при указании пути к файлу.
Таким образом, ветвь можно ассоциировать с директорией файловой системы. Внутри каждой ветви находится, так называемые, параметры(см. рис. 6.10).
Рис. 6.10
Если продолжать аналогию с файловой системой, параметры можно сравнить с файлами. В каждой папке,т.е. в каждой ветви реестра находятся параметры, напоминающие файлы.
В каждой ветви реестра по умолчанию обязательно присутствует один, самый верхний, параметр, ему значение не присвоено. Остальные параметры могут либо отсутствовать (как и файлы внутри папки), либо присутствовать в разных количествах, могут быть разных типов.
Мы открыли эту ветвь реестра (см. рис. 6.11), т.к. именно в ней прописывается,список приложений, автоматически загружаемых при старте операционной системы.
Рис. 6.11
Мы находимся в глобальной ветви HKEY_LOCAL_MACHINE,следовательно, загрузка будет происходить для всех пользователей этого компьютера.
Сейчас в списке четыре программы, они будут автоматически загружаться при старте Windows(см.рис. 6.12).
Рис. 6.12
Что представляет собой параметр? Параметр состоит из трёх составляющих:
Имя параметра. В некоторых случаях имя параметра может быть любым, иногда ему присваивается определённое значение.
Тип параметра. Типы параметров напоминают типы переменных языка Java, они могут быть числовыми, или, например,строкового типа –типа stringиз языка Java. В данном случае, REG_SZ–строковый тип (см. рис.6.13).
Рис. 6.13
Значение параметра– полный путь к программе, запускаемой при старте операционной системы. (см.рис. 6.14).
Рис. 6.14
Таким образом, в редакторе реестра можно добавить новый параметр и указать путь к программе, нужной для автоматической загрузки.
Так мы и сделаем, когда будем создавать блокировщик Windows. Именно в эту ветвь реестра пропишем путь к окончательному варианту запускаемого Java-архива. Тогда, при старте операционной системы, запуск блокировщика будет происходить автоматически. Пользователь не увидит свой привычный рабочий стол, он будет автоматически прикрываться блокировщиком.
Как мы уже знаем, реестр–это большое хранилище, в котором можно менять различные настройки. Настройки можно менять как из редактора реестра, так и из языка Java.
Например, при помощи реестра можно отключить USB-накопители. После перезагрузки операционной системы USB-накопители тогда станут недоступны.
Если пользователь отключит все ярлыки рабочего стола, при загрузке он будет видеть пустой рабочий стол.
Если, например,отключить пользователю возможность выключения операционной системы, у него будет отсутствовать соответствующаякнопка в панели "Пуск"и в Диспетчере задач.
Можно, при желании,поменять фон, появляющийся по умолчанию.Как правило, по умолчанию он белый, можно сделать его, скажем, красным. Фон некоторых окон, в том числе и сайтов, может стать красным и в браузере, если на сайтах не было сделано специальной установки конкретно цвета.
Для того чтобы пользоваться реестром Windows, достаточно иметь по нему справочное руководство. Это может быть справочник по реестру Windows, другая литература, некоторую информацию можно получить в Интернете.
Для того чтобы сделать в реестре дополнительную настройку,достаточно знать, в какой именно ветви необходимо изменить параметры, отвечающие за нужную настройку.
В нашем случае,параметры отвечают за путь к программам,которые должны запускаться автоматически.К реестру Windowsмы ещё вернёмся, а сейчас перейдём к созданию приложения "БлокировщикWindows".
Закроем редактор реестра и откроем студию разработки Eclipse. Здесь мы начнём создавать приложение для блокированияWindows.
Приложение будет поздравительным, дружелюбным к пользователю. Мы выведем поздравление и предложим пользователю ввести имя для отключения блокировщика.
Привычным способом создадим новый проект: нажимаем Файл–Создать проект Java,называем lesson18,нажимаем кнопку "Готово". В списке появляется папка с проектом.Наводим мышку на эту папку, нажимаем правую клавишу, выбираем Создать–Класс, указываем имяprogи ставим галочку public static voidmain, чтобы автоматически создался метод mainдля запуска приложения.
Комментарии,появившиеся по умолчанию, можно удалить, в них нет необходимости. В файле prog.javaмы создадим блокировщик.
Перед написанием программного кода определимся с постановкой задачи. На компьютере пользователя при запуске открывается окно блокировщика. При этом должны выполняться следующие условия:
Окно должно занимать весь экран,тогда пользователь не сможет получить доступ к другим окнам и снять блокировщик.Таким образом, ширина и высота окна должны быть обязательно равны текущему разрешению экрана. Допустим, если разрешение 800х600, соответственно, и окно должно быть именно 800х600,тогда на любом компьютере оно всегда будет занимать полный размер экрана. Поэтому ширину и высоту окна мы будем настраивать по разрешению экрана, установленному пользователем. Будем его определять из языка Java, и эти характеристики используем для настройки окна.
Окно не должно содержать верхнюю панель с кнопками для возможности закрытия окна (крестик вверху справа). Если мы оставим эти кнопки, пользователь сможет крестиком закрыть окно. Нужно, чтобы окно невозможно было закрыть, не введя имени,поэтому будем выводить окно без верхней панели, отображающей, в том числе, и название самого окна. В этом случае окно всегда будет занимать полностью весь экран, перекрывать нижнюю панель, где обозначена кнопка "Пуск", а также закладки со всеми открытыми приложениями.
Окно должно быть всегда поверх других окон, иначе пользователь сможет вызвать другое приложение и сбросить наше окно, например, при помощи Диспетчера задач.Поэтому, после запуска нашего приложения,будем запускать таймер, срабатывающий,например, 100 раз в секунду. Таймер обеспечит постоянное нахождение окна блокировщика поверх других окон. Если пользователь попытается вызвать, например, Диспетчер задач, окно блокировщика будет сразу же переноситься наверх и перекрывать окно Диспетчера задач. Это действие должно происходить постоянно. Поместим его в таймер, начинающий работать сразу же при запуске приложения.
Пользователь не должен иметь возможности закрыть приложение при помощи клавиш Alt+F4. (Alt+F4–комбинация клавиш для закрытия приложений, используемая вWindowsвместо крестика). Таким образом, при попытке пользователя закрыть приложение при помощи клавиш Alt+F4, мы будем вызывать метод, вновь отображающий окно блокировщика, т. е.вместо закрытия, окно будет воспроизводить себя ещё раз.
Этих мер достаточно,чтобы пользователь смог убрать блокировочное окно только после выполнения предоставленного ему условия, в нашем случае –введя имя пользователя.
Итак, создадим приложение блокировщик.
Сначала реализуем сам интерфейс окна: создадим окно с нужными размерами, поместим на него нужные поздравительные надписи, текстовое поле и кнопку для того, чтобы пользователь мог на неё нажать при вводе имени.
Затем создадим основные настройки: окно должно соответствовать по размерам ширине и высоте экрана и по умолчанию находиться поверх других окон.
И, наконец, выведем это окно на экран, протестируем, закроется оно или нет при вводе имени.
На этом основывается первая часть приложения –в ней пока не будут реализованы защитные действия от сброса окна. Эти действия мы добавим в приложение на следующем занятии и пропишем приложение в реестр, тогда при загрузке операционной системы пользователь будет видеть блокировщик.
Приступим к написанию программного кода. Сначала, при помощи команды import,подключим три уже знакомые нам библиотеки.
Напомним, что javax.swing.* -библиотека, отвечающая за работу с окнами.Для создания окна типа JFrame, необходимо подключить эту библиотеку.
Далее, подключаем вторую библиотеку java.awt.*-библиотеку,добавляющие некоторые возможности по работе с окнами и графикой.
И наконец, библиотекаjava.awt.event.* (Event– событие). Эта библиотека необходима для работы с обработчиками событий, таких, например, как работа таймера или обработка события при закрытии окна. В процессе работы с окном постоянно происходят какие-то события,третья библиотека нужна для возможности их обработки.
// Подключение библиотек