Автор: Пользователь скрыл имя, 20 Декабря 2011 в 03:03, курсовая работа
В данной курсовой работе рассмотрена программа-резидент, остающаяся в памяти после закрытия окна программы и обозначающая свое присутствие значком в трее.
Цель работы состоит в разработке программы-резидента, делающей снимок экрана с заданной периодичностью и сохраняющая файлы в выбранной папке.
Введение 5
1. Постановка задачи и ее решение 6
1.1. Формулировка задачи 6
1.2 Спецификация задачи 6
2 Техническая реализация алгоритма решения 6
2.1 Выбор языка и среды программирования 6
2.2 Описание алгоритмов и программы 6
2.3 Описание методов программирования 8
3 Тестирование программы 11
Заключение 13
Список литературы 14
Приложение А. Листинг программы 15
Реферат
Пояснительная записка курсовой работы содержит _16_ страниц, _8_ рисунков,_4_ источника, _1_ приложение.
Ключевые
слова: ПРОГРАММА, РЕЗИДЕНТ, ТРЕЙ,
СКРИНШОТ, ПУТЬ К ПАПКЕ, ТАЙМЕР
В данной курсовой работе рассмотрена программа-резидент, остающаяся в памяти после закрытия окна программы и обозначающая свое присутствие значком в трее.
Цель
работы состоит в разработке программы-резидента,
делающей снимок экрана с заданной
периодичностью и сохраняющая файлы в
выбранной папке.
Оглавление
Введение 5
1. Постановка задачи и ее решение 6
1.1. Формулировка задачи 6
1.2 Спецификация задачи 6
2 Техническая реализация алгоритма решения 6
2.1 Выбор языка и среды программирования 6
2.2 Описание алгоритмов и программы 6
2.3 Описание методов программирования 8
3 Тестирование программы 11
Заключение 13
Список литературы 14
Приложение
А. Листинг программы 15
Системное программное обеспечение — это комплекс программ, которые обеспечивают эффективное управление компонентами компьютерной системы, такими как процессор, оперативная память, устройства ввода-вывода, сетевое оборудование, выступая как «межслойный интерфейс», с одной стороны которого аппаратура, а с другой - приложения пользователя. В отличие от прикладного программного обеспечения, системное не решает конкретные прикладные задачи, а лишь обеспечивает работу других программ, управляет аппаратными ресурсами вычислительной системы и т.д.
Резидентная программа (или TSR-программа, от англ. Terminate and Stay Resident — «завершиться и остаться резидентной») — в операционной системе MS-DOS программа, вернувшая управление оболочке операционной системы (command.com), либо надстройке над операционной системой (Norton Commander и т. п.), но оставшаяся в оперативной памяти персонального компьютера. Резидентная программа активизируется каждый раз при возникновении прерывания, вектор которого эта программа изменила на адрес одной из своих процедур.
При работе с MS-DOS резидентные программы широко использовались для достижения различных целей (например, русификаторы клавиатуры, программы доступа к локальной сети, менеджеры отложенной печати, вирусы).
По
способу инициализации и вызова
операционной системой резидентные
программы необходимо отличать от «настоящих» драйверов
MS-DOS, встраиваемых операционной системой
в своё ядро
во время загрузки. В эпоху многозадачных
ОС резидентными иногда называют программы,
загруженные постоянно и работающие в
фоновом режиме.
Разработать программу, работающую в фоновом режиме. Программа должна оставаться в памяти после закрытия главного окна и обозначать свое присутствие значком в системном трее. Также программа должна с заданной периодичностью делать снимки экрана и сохранять их в выбранную пользователем папку.
Входные данные:
- периодичность в секундах;
-
папка для сохранения
Выходные данные:
-скриншоты
- иконка с системном трее
Языком программирования был выбран C#, поскольку он позволяет решать широкий спектр задач, легок в использовании, обладает гибкостью и большим количеством удобных в использовании библиотек. Помимо этого он позволяет использовать как объектно-ориентированный, так и структурный подход.
В качестве среды разработки была выбрана IDE Visual Studio 2010 Express Edition, поскольку она обладает удобным интерфейсом, богатыми средствами для отладки, широко распространена и бесплатна для некоммерческого использования.
При запуске программы в системном трее появляется значок. Таймер автоматически не запускается, программа находится в режиме ожидания. Контекстное меню открывается нажатием правой кнопкой мыши по иконке. Меню состоит из следующих пунктов:
Рисунок
1- Диаграмма состояний и переходов
Код формы, создание иконки в трее.
public Form1()
{
notifyIcon.Icon = new Icon(ICON_FILE_NAME);
notifyIcon.ContextMenu = CreateMenu();
notifyIcon.Visible = true;
InitializeComponent();
}
Код создания и настройки контекстного меню, запуск и остановка таймера.
ContextMenu CreateMenu()
{
ContextMenu menu = new ContextMenu(new MenuItem[]{
new MenuItem(ITEM_SHOW_WINDOW),
new MenuItem(ITEM_HIDE_WINDOW),
new MenuItem(ITEM_ACTION),
new MenuItem(ITEM_STOP),
new MenuItem(ITEM_EXIT_
menu.MenuItems[1].Enabled = false;
menu.MenuItems[3].Enabled = false;
foreach (MenuItem menuItem in menu.MenuItems)
menuItem.Click += new EventHandler(OnMenuItemClick);
return menu;
}
//Делаем доступным пункт Hide, а пункт Show - запрещаем
protected override void OnLoad(EventArgs e)
{
notifyIcon.ContextMenu.
notifyIcon.ContextMenu.
}
//Делаем доступным пункт Show, а пункт Hide - запрещаем
protected override void OnClosed(EventArgs e)
{
notifyIcon.ContextMenu.
notifyIcon.ContextMenu.
}
//Анализируем какой MenuItem clik'нули и выполняем соответствующее действие
void OnMenuItemClick(object sender, EventArgs e)