Как скрыть / отменить скрытие файла, не стирая другие атрибуты в C ++ в Windows
Я хотел бы иметь возможность скрыть / отменить скрытие файла в Windows в C ++, но я был обеспокоен удалением других атрибутов (таких как FILE_ATTRIBUTE_READONLY, FILE_ATTRIBUTE_ARCHIVE, ...).
Вот текущий код:
<code>//Hiding the file SetFileAttributes(path, FILE_ATTRIBUTE_HIDDEN); // Un-Hiding the file SetFileAttributes(path, FILE_ATTRIBUTE_NORMAL); </code>
Это нормально работает для обычных файлов, но удалит ли скрытый файл флаг READONLY, например? Будет ли удаление файла скрывать?
Если да, я планировал сделать что-то вроде этого:
<code>//Hiding the file int attr = GetFileAttributes(path); if ((attr | FILE_ATTRIBUTE_HIDDEN) == 0) { SetFileAttributes(path, attr & FILE_ATTRIBUTE_HIDDEN); } //Unhiding the file int attr = GetFileAttributes(path); if ((attr | FILE_ATTRIBUTE_HIDDEN) == FILE_ATTRIBUTE_HIDDEN) { SetFileAttributes(path, attr & FILE_ATTRIBUTE_HIDDEN); } </code>
Будет ли это работать?