Познавательный блог Мобильная врсия

Страницы

Промо

Как изменить атрибуты файла на C++. Функция SetFileAttributes.

Как изменить атрибуты файла на C++. У каждого файла в ОС Windows есть аттрибуты. A H R S.

  • Архивный (A)
  • Скрытый (H)
  • Только чтение (R)
  • Системный (S)

Изменить эти параметры можно и вручную, но некоторые из них сложно сменить без особых навыков работы в ОС. ДА и не всегда это нужно делать вручную. В WinAPI от Билла есть функция SetFileAttributes.

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

Синтаксис

BOOL SetFileAttributes(
LPCTSTR lpFileName, // имя файла
DWORD dwFileAttributes // атрибуты
);

Параметры

lpFileName —Указатель на строку символов, определяющую имя файла, атрибуты которого должны быть установлены.

Windows NT/2000/XP: В версии ANSI этой функции, имя ограничивается значением флажка MAX_PATH. Чтобы выйти за пределы этого ограничения, до длины 32 767 символов, вызовите Unicode версию этой функции и присоедините спереди пути "\\?\". Подробную информацию см. в статье Именование файлов.

Windows 95/98/Me: Эта символьная строка не должна выходить за пределы значения флажка MAX_PATH.

dwFileAttributes — Устанавливаемые атрибуты файла. Этот параметр может состоять из одного или нескольких нижеследующих значений. Однако, все другие значения отменяют атрибут FILE_ATTRIBUTE_NORMAL.

FILE_ATTRIBUTE_ARCHIVE Этот файл - архивный файл. Приложения используют этот атрибут, чтобы отметить файлы для резервирования или перемещения.
FILE_ATTRIBUTE_HIDDEN Файл скрытый. Он не включается в обычный список каталога.
FILE_ATTRIBUTE_NORMAL У файла нет другого набора атрибутов. Этот атрибут допустим только в том случае, если используется в одиночку.
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED Файл не индексируется содержащей индексацию службой.
FILE_ATTRIBUTE_OFFLINE Данные файла непосредственно не доступны. Этот атрибут указывает, что данные файла были физически перемещены на автономное запоминающее устройство. Этот атрибут используется Удаленным хранилищем, программным обеспечением иерархического управления памятью. Приложения не должны произвольно изменять этот атрибут.
FILE_ATTRIBUTE_READONLY Файл только для чтения. Приложения могут читать файл, но не могут записать в него или удалить его.
FILE_ATTRIBUTE_SYSTEM Файл - это часть операционной системы или используется исключительно ею.
FILE_ATTRIBUTE_TEMPORARY Файл используется для временного сохранения. Файловые системы избегают писать данные обратно на запоминающее устройство большой емкости, если доступна достаточная кэш-память, потому что приложение часто удаляет временный файл вскоре после того, как дескриптор закрывается. В этом случае, система может полностью отменить запись данных. В противном случае, данные должны быть записаны после того, как дескриптор закроется.

Возвращаемые значения

Если функция завершается успешно, возвращаемое значение - не нуль.

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

Пример:

#include <windows.h>
SetFileAttributes("1.exe",FILE_ATTRIBUTE_HIDDEN);

Написать комментарий








Поиск по сайту

Статистика

Мета

  Разработка и дизайн — StvPromo.ru