QT 4.5.2
Windows XP
NTFS
=========
Права администраторские
"D:/TestFile" - существует.
Изначально Permissions == 0x6600;
IFile.setPermissions - возвращает true. Однако Permissions не изменяются!
В чем может быть проблема?
C++ (Qt)
extern Q_CORE_EXPORT int qt_ntfs_permission_lookup;
void sb_pipeline2::on_testButton_9_clicked()
{
qt_ntfs_permission_lookup++;
QFile IFile("D:/TestFile");
QFile::Permissions Permissions = IFile.permissions();
// Permissions == 0x6600;
Permissions |= QFile::ExeOther|QFile::ExeUser|QFile::ExeOwner|QFile::ExeGroup;
// Permissions == 0x7711;
if(!IFile.setPermissions(Permissions)) {
QMessageBox::critical(0, "Error", "Cannot set file Permitions");
return;
}
Permissions = IFile.permissions();
// Permissions == 0x6600;
if(Permissions & (QFile::ExeOther|QFile::ExeUser|QFile::ExeOwner|QFile::ExeGroup)) {
QMessageBox::information(0, "Info", "Executable file");
}
}
В обратную сторону тоже не работает:
0x7700 >> 0x6600