Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Win API


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / WinAPI

Выпуск № 411
от 12.04.2007, 02:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 417, Экспертов: 49
В номере:Вопросов: 1, Ответов: 1


Вопрос № 81399: Здраствуйте!!! как Создавать каталоги с атрибутами(скрытый, только чтение и т.д.). и как при этом более быстро проверить была ли уже создана папка!!!...

Вопрос № 81.399
Здраствуйте!!! как Создавать каталоги с атрибутами(скрытый, только чтение и т.д.). и как при этом более быстро проверить была ли уже создана папка!!!
Отправлен: 07.04.2007, 02:06
Вопрос задал: HITY (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Gh0stik
Здравствуйте, HITY!

Используйте такие функции:

1) function SetFileAttributes(lpFileName: PChar; dwFileAttributes: DWORD): BOOL;

Функция устанавливает атрибуты файла или папки.

Параметры
lpFileName: Строка которая определяет путь к файлу или папки, чьи аттрибуты необходимо установить.
Win NT2000XP: В ANSI-версии этой функции строка ограничена MAX_PATH. Для того чтобы вызвать расширенную функцию вызовите функцию SetFileAttributesW и добавте "\?" в начало строки содержащей путь.

Win 95/98/Me: Cтрока не должна превышать константу MAX_PATH.

dwFileAttributes: Аттрибуты для файла или папки. См. FILE_ATTRIBUTE_. Тем не менее все другие значения аннулируют аттрибут FILE_ATTRIBUTE_NORMAL.

Возвращаемые значения
Если функция добивается успеха, возвращаемая величина не нуль, в противном случае нуль. Для того, чтобы получить расширенную информацию об ошибке, вызовите функцию GetLastError.

Замечания
Далее описывается как установить аттрибуты, которые нельзя установить функцией SetFileAttributes.

FILE_ATTRIBUTE_COMPRESSED, Чтобы устанавливать файловое состояние сжатия, использовать функцию DeviceIoControl с операцией FSCTL_SET_COMPRESSION.
FILE_ATTRIBUTE_DEVICE - Зарезервирован; не использовать.
FILE_ATTRIBUTE_DIRECTORY - Файлу не может быть присвоен аттрибут папки. Для того, чтобы создать папку, используйте функции CreateDirectory или CreateDirectoryEx.
FILE_ATTRIBUTE_ENCRYPTED - Чтобы создать закодированный файл, используйте функцию CreateFile с атрибутом FILE_ATTRIBUTE_ENCRYPTED. Для того, чтобы преобразовывать существующий файл в закодированный файл, используйте функцию EncryptFile.

FILE_ATTRIBUTE_REPARSE_POINT - Чтобы соединить реперную точку с файлом, используйте функцию DeviceIoControl с операцией FSCTL_SET_REPARSE_POINT.
FILE_ATTRIBUTE_SPARSE_FILE - Чтобы установить аттрибут редкий файл, используйте функцию DeviceIoControl с операцией FSCTL_SET_SPARSE.

2) function CreateDirectory(lpPathName: PChar;
lpSecurityAttributes: PSecurityAttributes): BOOL;


Создает новую папку. Если файловая система поддерживает безопасность, функция применяет указанный описатель безопасности к новой папке. Обратите внимание, что CreateDirectory не имеет параметра шаблона, в то время как CreateDirectoryEx имеет.

Параметры

lpPathName: Строка содержащая путь к создаваемой папке.
Максимальный размер пути равен MAX_PATH знаков.
Windows NT: Можно использовать пути более MAX_PATH знаков, вызывая расширенную (W) версию CreateFile и подставив " \?" в Путь. " \?" говорит функции выключать парсинг пути. Это позволяет вам использовать пути, которые имеют почти 32 000 Unicode знаков. Функция также работает с именами internet-протокола. " \?" игнорируется как часть пути. Например, " \?C:myworldprivate" будет трансформирован в "C:myworldprivate", а " \?UNC om_1hotstuffcoolapps" будет трансформирован в "\tom_1hotstuffcoolapps".

lpSecurityAttributes: Указатель на структуру TSecurityAttributes, которая определяет, может ли возвращенный указатель быть использован процессами-потомками. Если lpSecurityAttributes является пустым, указатель не может быть унаследован.
Windows NT: поле структуры lpSecurityDescriptor определяет описатель безопасности для объекта. Если lpSecurityAttributes является пустым, объект получает описатель по умолчинию. Файловая система должна поддерживать ружим безопасности.

Windows 95: поле lpSecurityDescriptor игнорируется.

Возвpащаемое значение:
Если успешно то не ноль.
Если функция терпит неудачу - ноль. Чтобы получить расширенную информацию об ошибке, вызовите функцию GetLastError.

Good Luck!!!
---------
Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессионал)
Украина, Славянск
Организация: Славянский государственный педагогический университет (Кафедра алгебры)
ICQ: 289363162
----
Ответ отправлен: 07.04.2007, 02:30
Оценка за ответ: 4
Комментарий оценки:
Спасибо за помощь!!


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.47 от 06.04.2007
Яндекс Rambler's Top100

В избранное