- •Введение
- •Тема 1. Двухпросмотровый ассемблер
- •Тема 2. Com-сервер для обработки и хранения результатов тестирования.
- •Тема 3. Дисковая утилита для просмотра fat.
- •Тема 4. Сервер автоматизации ole.
- •Тема 5. Дефрагментатор файловой системы.
- •Элемент каталога для короткого имени
- •Тема 6. Монитор системных ресурсов для Windows 98/2000.
- •Тема 7. Менеджер процессов и потоков для Windows 98/2000.
- •Тема 8. Файловый менеджер для Windows 98/2000/nt.
- •Тема 9. Формат исполняемого pe-файле в Windows 98/nt.
- •Тема 10. Запуск в определенное время различных программ.
- •Тема 11. Утилита, сохраняющая в файле информацию из системного реестра о программах, установленных на компьтере.
- •Тема 12. Утилита для очистки системного реестра Windows.
- •Тема 13. Утилита, отслеживающая изменения в файловой системе Windows в заданных каталогах.
- •Тема 14. Просмотрщик таблицы разделов и fat.
- •Тема 15. Утилита MaxSplitter
- •Тема 16. Утилита удаленного администрирования.
- •Тема 17. Простая почтовая программа на основе протокола smtp.
- •Тема 18. Ftp - клиент.
- •Тема 19. Ftp - сервер.
- •Тема 20. Системные сервисы Windows nt/2000.
- •Литература
- •Приложение 1. Tcp/ip Программирование с использованием WinSock
- •Создание и использование сокетов
- •Закрытие сокета
- •Функция shutdown()
- •Методы прекращения работы гнезда
- •Функция bind()
- •Приложение может послать запрос на соединение с помощью функции
- •Отправка и прием данных через сокеты потоков
- •Ожидание и обработка событий
- •Использование функции wsaAsyncSelect()
- •Приложение 2. Команды ftp
- •Приложение 3. Команды smtp
- •Приложение 4. Заголовки почты smtp
Тема 12. Утилита для очистки системного реестра Windows.
Техническое задание.
Разработать утилиту, сканирующую системный реестр Windows и выводящую список всех зарегистрированнных в нем программ. Отметив программы, уже не существующие на жестком диске, вы сможете удалить их ключи из реестра.
Методические указания.
Смотри методические указания к предыдущей теме.
Тема 13. Утилита, отслеживающая изменения в файловой системе Windows в заданных каталогах.
Техническое задание.
Разработать утилиту, позволяющую организовать слежение за изменениями объектов файловой системы.
Методические указания.
Windows позволяет организовать слежение за изменениями объектов файловой системы. Для этого служит функция FindFirstChangeNotification:
HANDLE FindFirstChangeNotification(LPCTSTR lpPathName, //Путь к папке,
// изменения в которой нас интересуют
BOOL bWatchSubtree, // Задает необходимость слежения за
// изменениями во вложенных папках
DWORD dwNotifyFilter); // Фильтр событий
Параметр dwNotifyFilter — это битовая маска из одного или нескольких следующих значений:
FILE_NOTIFY_CHANGE_FILE_NAME |
Слежение ведется за любым изменением имени файла, в том числе за созданием и удалением файлов |
FILE_NOTIFY_CHANGE_DIR_NAME |
Слежение ведется за любым изменением имени папки, в том числе за созданием и удалением папок |
FILE_NOTIFY_CHANGE_ATTRIBUTES |
Слежение ведется за любым изменением атрибутов |
FILE_NOTIFY_CHANGE_SIZE |
Слежение ведется за изменением размера файлов. Изменение размера происходит при записи в файл. Функция ожидания срабатывает только после успешного сброса дискового кэша |
FILE_NOTIFY_CHANGE_LAST_WRITE |
Слежение ведется за изменением времени последней записи в файл, то есть фактически за любой записью в файл. Функция ожидания срабатывает только после успешного сброса дискового кэша |
FILE_NOTIFY_CHANGE_SECURITY |
Слежение ведется за любыми изменениями дескрипторов защиты |
Идентификатор, возвращенный этой функцией, может использоваться в любой функции ожидания. Он переходит в сигнальное состояние, когда в папке происходят изменения, запрошенные для слежения. Можно продолжить слежение, используя функцию FindNextChangeNotification:
BOOL FindNextChangeNotification(HANDLE hChangeHandle).
По завершении работы идентификатор должен быть закрыт при помощи функции FindCloseChangeNotification:
BOOL FindCloseChangeNotification(HANDLE hChangeHandle).
Чтобы не блокировать исполнение основного потока программы функцией ожидания, удобно реализовать ожидание изменений в отдельном потоке.
Тема 14. Просмотрщик таблицы разделов и fat.
Техническое задание.
Разработать приложение Windows для просмотра в удобной форме информации о таблице размещения файлов FAT и разделов диска.
Методические указания.
Смотри методические указания к теме 3.
Тема 15. Утилита MaxSplitter
Техническое задание.
Разработать утилиту для разделения длинных файлов на части заданной фиксированной длины. Эта же утилита должна, при задании определенных опций, восстанавливать исходный файл.
Методические указания.
Смотри методические указания к теме 15.