I
Indahaus
Весь инет перерыл ничего толком не нашёл, как установить именно папку сжатой или зашифрованной и наоборот.
SetFileAttributes("C:\\Test", FILE_ATTRIBUTE_NORMAL); // устанавливает только как обычную не скрытую и не системную папку. А типы "сжатый" или "зашифрованный" вообще не трогает.
Пытался сделать так:
но действует только на файлы! а на папки не действует вообще.
Как получить дескриптор папки от CreateFile или хотя бы с помощью другой функции? или можно как-то другим способом сделать?
Также и шифрование и дешифрование соответственно функции EncryptFile и DecryptFile - только для файлов, а на папки вообще не действует. Помогите пожалуйста.
SetFileAttributes("C:\\Test", FILE_ATTRIBUTE_NORMAL); // устанавливает только как обычную не скрытую и не системную папку. А типы "сжатый" или "зашифрованный" вообще не трогает.
Пытался сделать так:
C++:
HANDLE hFile=NULL;
unsigned int iCompression=0; // для сжатого файла, т.е. сбросить тип сжатый.
hFile = CreateFile("C:\\Test", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, 0);
if (INVALID_HANDLE_VALUE == hFile) {
return false;
}
if (iCompress == 1) {
iCompression = COMPRESSION_FORMAT_DEFAULT;
} else {
iCompression = COMPRESSION_FORMAT_NONE;
}
DWORD dw=0;
if (FALSE == DeviceIoControl(hFile, FSCTL_SET_COMPRESSION, &iCompression, sizeof(unsigned int), NULL, 0, &dw, NULL)) {
CloseHandle(hFile);
hFile = NULL;
return false;
}
CloseHandle(hFile);
hFile = NULL;
return true;
Как получить дескриптор папки от CreateFile или хотя бы с помощью другой функции? или можно как-то другим способом сделать?
Также и шифрование и дешифрование соответственно функции EncryptFile и DecryptFile - только для файлов, а на папки вообще не действует. Помогите пожалуйста.