Salut à tous,
Je suppose qu'on peut parler de programmation puisque l'on est sur le site "Liberté d'en parler", mais ce que je me demande c'est si ça vaut la peine de créer une rubrique spéciale ou non? Je ne connais pas encore les membre du forum, donc je ne sais pas s'il y en a qui sont intéressés... je verrai d'après vos réponses. Mais je suis conscient qu'il existe des forums spécialisés pour ça. Je suis d'ailleur inscrit sur l'un d'entre-eux.
S'il y en a qui sont calés en C++, voici la question que je me pose depuis pas mal de temps, et à laquelle personne ne m'a répondu de façon satisfaisante. Donc je profite de mon inscription sur ce forum pour tenter ma chance:
Je cherche à écrire un programme qui soit capable de se modifier lui-même afin d'avoir un comportement différent à chaque exécution. Mais je ne veux pas que le programme sauvegarde des données dans un fichier séparé, car je ne veux pas que l'utilisateur puisse se contenter d'effacer ou modifier ce fichier afin de modifier le comportement du programme. Pour cela, mon programme lorsqu'il est exécuté charge une copie de lui-même dans un buffer, et en fonction de son interaction avec l'utilisateur modifie le buffer, ce dernier est sauvegardé dans un nouveau fichier exe. Si l'on exécute le nouveau exe créé, le comportement sera différent. Et le processus se réitère. Bon ça marche très bien.
Mais voici mon problème: Je voudrais que le programme modifié soit sauvegardé dans le même fichier que celui qui est en cours d'utilisation (écrasement du fichier en cours d'exécution). C'est permis avec Linux, par contre Windows interdit l'accès en écriture à un fichier en cours d'utilisation.
J'aimerais donc savoir si quelqu'un connaît un moyen de forcer le système à accepter l'écriture, ou à faire croire au système que le fichier n'est plus en cours d'utilisation?
Bon je sais que j'ai peu de chances de trouver ma réponse ici, mais on ne sais jamais...
Jonathan
Je suppose qu'on peut parler de programmation puisque l'on est sur le site "Liberté d'en parler", mais ce que je me demande c'est si ça vaut la peine de créer une rubrique spéciale ou non? Je ne connais pas encore les membre du forum, donc je ne sais pas s'il y en a qui sont intéressés... je verrai d'après vos réponses. Mais je suis conscient qu'il existe des forums spécialisés pour ça. Je suis d'ailleur inscrit sur l'un d'entre-eux.
S'il y en a qui sont calés en C++, voici la question que je me pose depuis pas mal de temps, et à laquelle personne ne m'a répondu de façon satisfaisante. Donc je profite de mon inscription sur ce forum pour tenter ma chance:
Je cherche à écrire un programme qui soit capable de se modifier lui-même afin d'avoir un comportement différent à chaque exécution. Mais je ne veux pas que le programme sauvegarde des données dans un fichier séparé, car je ne veux pas que l'utilisateur puisse se contenter d'effacer ou modifier ce fichier afin de modifier le comportement du programme. Pour cela, mon programme lorsqu'il est exécuté charge une copie de lui-même dans un buffer, et en fonction de son interaction avec l'utilisateur modifie le buffer, ce dernier est sauvegardé dans un nouveau fichier exe. Si l'on exécute le nouveau exe créé, le comportement sera différent. Et le processus se réitère. Bon ça marche très bien.
Mais voici mon problème: Je voudrais que le programme modifié soit sauvegardé dans le même fichier que celui qui est en cours d'utilisation (écrasement du fichier en cours d'exécution). C'est permis avec Linux, par contre Windows interdit l'accès en écriture à un fichier en cours d'utilisation.
J'aimerais donc savoir si quelqu'un connaît un moyen de forcer le système à accepter l'écriture, ou à faire croire au système que le fichier n'est plus en cours d'utilisation?
Bon je sais que j'ai peu de chances de trouver ma réponse ici, mais on ne sais jamais...
Jonathan