А вот как теперь файл защитить?
Я ... считал если приложение открыло файл, ось не позволит его удалить из вне
...
Не-а.
От оси зависит.
Для MS Windows указывается в параметре dwShareMode метода CreateFile:
http://msdn.microsoft.com/en-us/library/aa363858%28VS.85%29.aspxЕсли 0 - то действительно, другим процессам нельзя открывать файл/устройство с запрососами на чтение, запись и удаление.
FILE_SHARE_READ (0X01) - разрешено открывать файл/устройство с запросом "читать"
FILE_SHARE_WRITE (0X02) - разрешено открывать файл/устройство с запросом "писать"
FILE_SHARE_DELETE (0X04) - разрешено открывать файл/устройство с запросом "удалить"
Для Linux - ХЗ.
А еще - для некоторых осей (и даже некоторых файловых систем) есть понятие "владельца" файла/каталога/устройства, и прав отдельных пользователей (и групп) по отношению к данному файлу/каталогу/устройству для совершения различных действий.
Вот что по этому поводу "думает" QtFile:
http://doc.qt.nokia.com/4.7/qfile.html#Permission-enumИмхо, "с помощью Qt" можно пробовать "лочить" так: проверять текущие права на файл /QFile::permissions ()/, а затем уже пробовать задавать нужные права на файл /QFile::setPermissions/.
Скользкое дело, короче.