Il existe un fichier de configuration dans un petit programme que j'ai écrit récemment. Ce fichier est crucial pour l'ensemble du programme. S'il est supprimé ou réécrit, l'ensemble du programme ne peut pas s'exécuter ou ne peut pas être fermé après son exécution. J'ai donc cherché un moyen de rendre impossible la réécriture manuelle des fichiers.
"Supprimer" est facile à résoudre. Recherchez le chemin du fichier de configuration dans le programme, créez-le s'il est vide et donnez quelques valeurs par défaut. L'exemple de code de VB est le suivant :
FileName = App.Path + "/CONFIG"'Si le fichier n'existe pas, créez le fichierIf Dir(FileName) = "" Then Open FileName For Output As #1 'Pour ouvrir un fichier séquentiel, nous pouvons utiliser l'instruction Open a = Encode(" 123") + vbCrLf + "10" + vbCrLf 'vbCrLf est un retour chariot Imprimer #1, un 'Ecrire dataClose #1 'Fermer le fichierFin Si
Je n'ai pas pu réécrire manuellement le fichier de configuration. J'ai essayé de masquer le fichier dans le programme. L'exemple de code de VB est le suivant :
SetAttr FileName, vbSystem ou vbHidden 'Fichier caché
Mais en dernière analyse, il s’agit de traiter les symptômes plutôt que la cause profonde, et le document sera quand même réécrit. Ensuite, j'ai pensé à modifier la méthode du suffixe du fichier de configuration afin qu'il ne soit pas facile pour les gens d'ouvrir le fichier manuellement, mais il existe toujours un moyen de l'ouvrir. En fin de compte, j'ai pensé à une solution simple : ouvrez d'abord le fichier de configuration dans le programme, puis il ne peut pas être ouvert manuellement. L'exemple de code de VB est le suivant :
Ouvrir le nom de fichier pour le binaire en tant que #99
N'oubliez pas que le programme doit d'abord fermer le fichier ouvert lors de la réécriture du fichier, sinon la réécriture échouera. L'exemple de code de VB est le suivant :
Fermer #99 'Fermer le fichier
Pour résumer, le moyen simple d’empêcher l’écrasement d’un fichier est d’ouvrir d’abord le fichier dans le programme.
Ce qui précède représente l’intégralité du contenu de cet article, j’espère que vous l’aimerez tous.