Здравствуйте, Аноним, Вы писали: А> Помгите пожалуйста нужна сылка где можно скачать литературу где описана работа с папками (создание ,удаление и т.д.). Бей лодырей!!! Ах ты, лентяй хренов, на, палучай, тунеядец!!! СозданиеCreateDirectory()создаёт только последнюю папку в указанном пути, т.е. если промежуточные папки не существуют, они не будут созданы и функция вернёт ашипку. Позволяет назначить права папке. SHCreateDirectory() создаёт папку со всеми указанными промежуточными папками. SHCreateDirectoryEx() то же самое, плюс позволяет назначить права папке. УдалениеRemoveDirectory()удаляет только пустые папки. Иначе — вернёт ашипку. SHFileOperation() удаляет папку со всем содержимым. флаг FO_DELETE. КопированиеSHFileOperation()копирует папку со всем содержимым. флаг FO_COPY. ПеремещениеMoveFileEx()перемещает папку в пределах того же физического тома, если необходимо переместить на другой том, необходимо разрешить системе это, указав флаг MOVEFILE_COPY_ALLOWED, в этом случае будет сэмулирована работа функций CopyFile() + DeleteFile() для всех файлов в папке. также позволяет отложить выполнение операций до перезагрузки, для этого необходимо указать флаг MOVEFILE_DELAY_UNTIL_REBOOT. MoveFileWithProgress() то же самое, плюс позволяет отследить состояние перемещения в своей callback-функции. SHFileOperation() копирует папку со всем содержимым. флаг FO_MOVE. Текущая папкаGetCurrentDirectory()позволяет получить путь к текущей папке вызывающего процесса. SetCurrentDirectory() позволяет установить текущую папку для вызывающего процесса. АтрибутыGetFileAttributes()позволяет получить атрибуты папки. GetFileAttributesEx() тоже самое, плюс возвращает такую информацию: дату создания, последнего доступа, изменения. SetFileAttributes() позволяет установить атрибуты папки. Чтение в RAW-режимеCreateFile()позволяет открыть и читать данные папки в RAW-режиме. Для чтения используется ReadFile(), для записи — WriteFile(). чтобы читать/писать в файловые потоки, к имени файла нужно добавить ":<stream_name>", например, так: "C:\file.ext:stream1". ШифрованиеEncryptFile()шифрует папку, устанавливая атрибут FILE_ATTRIBUTE_ENCRYPTED. DecryptFile() дешифрует папку, снимая атрибут FILE_ATTRIBUTE_ENCRYPTED. БезопасностьGetSecurityInfo()позволяет получить копию следующей информации: дескриптор безопасности папки, владелец, группа, SACL, DACL. нужны права на чтение данной инфы безопасности. SetSecurityInfo() позволяет установить следующюю информацию: дескриптор безопасности папки, владелец, группа, SACL, DACL. разумеется для этого нужны права на смену соответствующей информации. Получение содержимогоFindFirstFile()начинает поиск элементов файловой системы в указанной папке. есть возможность указать маску поиска. FindNextFile() возвращает следующий элемент в папке. FindClose() закрывает хендл поиска и освобождает соответствующие ресурсы. Отслеживание измененийFindFirstChangeNotification()запускает механизм отслеживания изменений для данной папки и возвращает соответствующий хендл. позволяет указать, какие именно изменения мы хотим отслеживать. чтобы отследить момент изменения, достаточно передать полученный хендл в любую функцию ожидания, например, WaitForSingleObject(). FindNextChangeNotification() После получения уведомления от функции ожидания о том, что произошли изменения, мы можем вызвать эту функцию, чтобы продолжить наблюдение и затем опять вызвать функцию ожидания. FindCloseChangeNotification() эту функцию мы можем вызвать, чтобы остановить ранее запущеное отслеживание изменений. ReadDirectoryChangesW() [только Windows NT и выше] также возвращает информацию об изменениях в папке; может быть вызвана асинхронно. Пользовательские данныеDeviceIoControl()Необходимо указать флаг FSCTL_SET_REPARSE_POINT. С помощью этой функции приложение уровня пользователя (ring3) может установить свои данные в папку (папка становиться точкой разрежения — reparse point). Т.к. данные записываются драйвером файловой системы, а формат этих данных ему неизвестен, приложение должно установить в систему драйвер-фильтр файловой системы, чтобы он преобразовывал пользовательские данные в формат, в котором драйвер файловой системы сможет их записать в папку. Каждая запись должна сопровождаться указанием тега данных типа DWORD. P.S. может что-то не очень корректно изложил, — дополните сами, если знаете точнее. P.P.S. может в фак? |