Системное программирование для операционных систем
Резидентная программа, контролирующая наличие одинаковых файлов на диске в фоновом режиме на языке С++. Структура основной программы, программная реализация алгоритма, её исходный текст, функциональные возможности и руководство по использованию.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 17.12.2009 |
Размер файла | 1,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
/*
Msg.LParam=
512 - кнопки мыши не нажаты
513, 514 - нажать, отпустить левую кнопку ..001,..010
516, 517 - нажать, отпустить правую кнопку ..0100,..0101
519, 520 - нажать, отпустить среднюю кнопку ..0111,..1000
*/
//обработчик событий от значка в System Tray -
//показывает всплывающее меню при щелчке мышью на значке в System Tray
void __fastcall TFForm::WMShellMess(TMessage &Message)
{
if(Message.WParam ==0)
switch(Message.LParam)
{
case 513:
case 516:if(!SDForm->Visible)
{
TPoint tp;
SetForegroundWindow(Handle);
GetCursorPos(&tp);
N1->Enabled=!Visible || IsIconic(Application->Handle);
PopupMenu1->Popup(tp.x,tp.y);
PostMessage(Handle,WM_NULL,0,0);
}
break;
}
}
//---------------------------------------------------------------------------
//обработчик сообщения от второй копии приложения - для открытия и показа главного окна
void __fastcall TFForm::ShowMyWin(TMessage &Message)
{
ShowWindow(Application->Handle, SW_SHOWNORMAL);
Show();
}
//---------------------------------------------------------------------------
//обработчик пуккта всплывающего меню "Отчет, настройки программы"
//открывает и показывает главное окно
void __fastcall TFForm::N1Click(TObject *Sender)
{
ShowWindow(Application->Handle, SW_SHOWNORMAL);
Show();
}
//---------------------------------------------------------------------------
//обработчик OnClose (при закрытии) формы
void __fastcall TFForm::FormClose(TObject *Sender, TCloseAction &Action)
{
Timer2->Enabled=false;
if(AppClose) {//закрытие программы разрешено - выполняет деинициализирующие действия
StopThreads();//остановка-удаление потоков
if(Report) delete Report; //удаление отчета
CloseHandle(NeverMutex); //освобождение объектов
CloseHandle(NeverEvent); //
Shell_NotifyIcon(NIM_DELETE,&NotifyData); //удаление значка из System Tray
//сохранение параметров в файл "FileNames.inf"
TStringList *S = new TStringList();
S->Add(AddDirButton->Caption);//контролируемый каталог
for(int i=0;i<ExBox->Items->Count;i++) S->Add(ExBox->Items->Strings[i]);//список исключений
S->SaveToFile(ChangeFileExt(ParamStr(0),".inf"));
delete S;
}
else {//закрытие программы запрещено - только скрывает окно
Action=caNone;
Hide();
ShowWindow(Application->Handle, SW_HIDE);
}
}
//---------------------------------------------------------------------------
//обработчик пуккта всплывающего меню "Закрыть программу"
//взводит признак AppClose и закрывает главное окно
void __fastcall TFForm::N2Click(TObject *Sender)
{
if(!SDForm->Visible)
{
AppClose=true;
Close();
}
}
//---------------------------------------------------------------------------
//обработчик кнопки "Скрыть окно" - скрывает главное окно
void __fastcall TFForm::Button1Click(TObject *Sender)
{
Timer2->Enabled=false;
Hide();
ShowWindow(Application->Handle, SW_HIDE);
}
//---------------------------------------------------------------------------
//обработчик таймера - осуществляет мигание надписи "Запущена проверка..."
void __fastcall TFForm::Timer1Timer(TObject *Sender)
{
Label5->Visible=!Label5->Visible;
}
//---------------------------------------------------------------------------
//Обработчик кнопки AddDirButton -
//открывает окно SDForm для смены контр-го каталога, и перезапускает потоки
void __fastcall TFForm::AddDirButtonClick(TObject *Sender)
{
AnsiString Dir=AddDirButton->Caption;
if(Dir.Length() > 3) Dir.SetLength(Dir.Length()-1);
SDForm->DriveComboBox1->Drive=Dir[1];
SDForm->DirectoryListBox1->Directory=Dir;
if(SDForm->ShowModal()==mrOk)
{
Dir=SDForm->DirectoryListBox1->Directory;
if(Dir.Length() > 3) Dir=Dir+'\\';
StopThreads();
AddDirButton->Caption=Dir;
CallThreads();
}
}
//---------------------------------------------------------------------------
//Обработчик кнопки "Стрелка вниз" - передает файл из списка одноименных в список исключений
void __fastcall TFForm::SetExButtonClick(TObject *Sender)
{
if(Report->SetEx(NameBox->ItemIndex))
{
Report->SetNameList(NameBox->Items);
Report->SetExNames(ExBox->Items);
DirBox->Items->Clear();
SetExButton->Enabled=false;
ResetExButton->Enabled=false;
if(Report->NameList->Count>0) Panel2->Caption="Обнаружены одноименные файлы!";
else Panel2->Caption="Одноименные файлы отсутствуют.";
}
}
//---------------------------------------------------------------------------
//Обработчик кнопки "Стрелка верх" - передает файл из списка исключений в список одноименных
// или удаляет файл из списка исключений
void __fastcall TFForm::ResetExButtonClick(TObject *Sender)
{
if(Report->ResetEx(ExBox->ItemIndex))
{
Report->SetNameList(NameBox->Items);
Report->SetExNames(ExBox->Items);
DirBox->Items->Clear();
SetExButton->Enabled=false;
ResetExButton->Enabled=false;
if(Report->NameList->Count>0) Panel2->Caption="Обнаружены одноименные файлы!";
else Panel2->Caption="Одноименные файлы отсутствуют.";
}
}
Подобные документы
Системный подход к программированию в операционных системах. Разработка программы, выполняющей запуск программ по расписанию. Понятие интерфейса и его назначение. Создание алгоритма и программы на его базе. Текст программы и руководство пользователя.
курсовая работа [581,0 K], добавлен 13.11.2009Программирование и структура программы на языке Turbo Pascal и MS Visual C++6.0. Вычисление площади круга. Реализация программы в системе Turbo Pascal и MS VISUAL C++6.0 для Windows. Структура окна ТРW. Сохранение текста программы в файле на диске.
лабораторная работа [3,7 M], добавлен 22.03.2012Введение в объектно-ориентированное программирование. Постановка задачи. Описание алгоритма решения в псевдокоде (команды в виде текста на русском языке). Исходный текст программы на С. Тестирование программы. Модификация программы. Полиморфизм.
курсовая работа [294,0 K], добавлен 08.09.2008Теоретическое исследование вопроса и практическое применение. Общие сведения о графах. Алгоритм Дейкстры. Особенности работы в среде. Программная реализация. Описание алгоритма и структуры программы. Описание программных средств. Текст программы.
курсовая работа [1,0 M], добавлен 27.11.2007Обоснование выбора языка, виды языков программирования. Характеристика программного продукта, постановка задачи, методы решения, программная реализация, программная документация. Руководство по использованию программы. Защита программного продукта.
дипломная работа [1,6 M], добавлен 22.02.2010функциональные части обучающей системы: программа для создания и модификации тестов, сервисная программа администрирования и программа контроля знаний. Концептуальная и логическая модель базы данных. Структура файлов базы данных. Руководство пользователя.
дипломная работа [807,0 K], добавлен 24.11.2010Нормализация предметной области "Сайт знакомств" и ее программная реализация с использованием СУБД MySQL, языка HTML, технологии PHP и ADO, скриптовых языков VBScript или JavaScript. Руководство программиста, тестирование, исходный текст приложения.
реферат [29,0 K], добавлен 09.09.2010Анализ и математическая постановка задачи. Описание алгоритма действий, структурной организации программы и ее программной реализации. Текст основной программы, модулей вывода текстовых файлов на экран, извлечения ехе-файлов и подсчёта лабораторных работ.
курсовая работа [28,1 K], добавлен 28.02.2011Составление алгоритма и разработка в среде программирования Delphi 7 программы, вычисляющей макроэкономические индексы цен. Реализация программы в виде 4 форм и 1 диалогового окна. Описание алгоритма решения задачи. Текст программы, руководство оператора.
курсовая работа [1,4 M], добавлен 04.06.2013Реализация анкеты "Литературные предпочтения" средствами разработки PHP, MYSQL. Структура баз данных и приложения. Программная реализация анкеты на языке программирования php, руководство пользователя. Разработка PHP скриптов. Листинг программы.
курсовая работа [351,1 K], добавлен 02.12.2010