Как вы сказали выше, вы уже внедрили метод, который обнаруживает изменения файла, и вы хотите, как предотвратить эти изменения.
Обычно это невозможно.В конце я объясню.
У вас есть несколько вариантов действий:
- Если вы хотите предотвратить изменения во время работы программы, вы можете заблокировать файл.Это предотвратит доступ приложений к нему, но при выходе из программы блокировка будет снята.( Пример )
- Если вы хотите запретить доступ, когда программа не запущена, вам придется изменить разрешения файловой системы, чтобы запретить пользователю редактировать файл.Это намного сложнее, так как связано с файловой системой, а некоторые файловые системы, такие как FAT, вообще не имеют прав доступа к файлам.
- Вы можете написать сценарий "daemon", который отслеживает изменения файлов и возвращает их.
Но все эти возможности имеют одну проблему - программа обычно имеет те же права, что и пользователь, поэтому все, что делает программа, может быть отменено пользователем.Если у вашей программы есть доступ, у пользователя тоже есть.
Если вы заблокируете файл, пользователь может использовать такой инструмент, как Unlocker, чтобы снять блокировку и в любом случае отредактировать ее.Если ваша программа устанавливает права доступа к файлам, пользователь может просто изменить их обратно.В некоторых системах это можно было бы предотвратить, но тогда ваша программа также теряет доступ.Плохой.Если вы напишите демон, пользователь сможет его убить.
Единственная возможность - запустить программу с большими правами, чем у пользователя, и хранить данные в месте, где у пользователя тоже нет доступа.Например, в Windows вы можете запустить его как сервис.Это требует от пользователя не иметь прав администратора (или пользователя root в системах Unix).
Если пользователь является администратором или пользователем root, вы проиграли, поскольку у него есть полный доступ к системе, а вы не можетескрывать.(в Windows есть еще один уровень - пользователь SYSTEM, но пользователь с правами администратора также может легко получить эти права).