Salut a tous
J'ai un fichier.
Comment je peux modifier leurs attribues tel que je ne peux pas le supprimer ou le renomer .
J'ai essayer avec la fonction "FileSetAttr" mais rien.
Merci a tous.
Salut a tous
J'ai un fichier.
Comment je peux modifier leurs attribues tel que je ne peux pas le supprimer ou le renomer .
J'ai essayer avec la fonction "FileSetAttr" mais rien.
Merci a tous.
Salut,
si tu veux supprimer un fichier, tu peux utiliser la fonction DeleteFile.
Si cela ne marche pas, essaye de savoir pourquoi en faisant:
Ensuite, tu vas sur le site de msdn, tu as la liste des erreurs ici.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ShowMessage("Erreur "+IntToStr(GetLastError));
Salut,
Il est vraisemblabe que le fichier que tu essayes de deleter soit ouvert par une autre application. Si dans l'explorateur windows tu n'arrive pas à le renomer ca signifie que c'est le cas. Tu peux egalement verifier ces attribues en regardant ses propriete (click droit + proprieté) avant d'essayer de le modifier pour rien peut-etre.
J'essaye d'inverser le problème.
J'ai un exécutable App1 je l'ai copier et je l'ai nommer App2.
Comment faire pour Supprimer App1 et le remplace dans la table des processus avec App2 , sans fermer App1 et sans lacer App2.
Alors là impossible de supprimer App2.
Je te donne un exemple:
Si tu connais ResHacker.
http://www.angusj.com/resourcehacker/reshack.zip
C'est pour parcourir les ressources d'un (EXE dll ... ... ... ...).
Tu peux avec ResHacker modifier ces resources.
Si le App.xxx est modifier et tu veux le sauvegarder et si le App.xxx est en cour d'utilisation il sauvegarde l'ancien fichier sous App_original.xxx et le nouveau sous App.xxx
Alors tu ne peux pas supprimer App_original.xxx par contre tu peux supprimer App.xxx
Salut,
J'essaye de comprendre ton souci, mais je ne suis pas sure d'avoir bien saisi.
Si je resume, tu veux metre à jour une application qui est en train de tourner.
Ou si App1 tourne, tu veux la modifier en passant par une copie App2 et remplacer App1 par l'appli modifier App2.
Si c'est ca. J'ai une deja ecrit application capable de se mettre à jour toute seule. Le principe etant:
- J'execute App1 normalement
- J'en fait une copie nomé App1 mais situé ailleur.
- Je modifie cette copie
- Je la lance et elle remplace App1 dans le gestionnaire de tache et se recopie dans son repertoire d'origine
Oui c'est ça l'aidé juste que ResHacker fais ça avec (exe dll ocx ...).
Je suis désolé, mais j'ai pas bien saisi ta phrase!
Voici un bout de code qui fait un peu ce que tu veux. Je suppose que cette manipulation à pour but de te donner les droits sur une application qui tourne.
Que cherches-tu à faire exactement?
En fait, une application qui tourne ne peux PAS être modifiée et donc tu n'aura jamais les droits. La feinte est en fait d'en faire une copie portant le même nom au même endroit que l'exécutable, en ayant au préalable déplacé l'exe qui tourne dans le fichier de répertoire temporaire en lui disant de se supprimer au prochain redémarrage de l'ordinateur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 AnsiString TempPath; AnsiString NewPath; AnsiString OriginalPath; //move running application GetTempPath(200,TempPath.c_str()); GetTempFileName(TempPath.c_str(), _T("TMP"),0,NewPath.c_str()); OriginalPath = Application->ExeName; if(MoveFileEx(OriginalPath.c_str(),NewPath.c_str(),MOVEFILE_REPLACE_EXISTING) == FALSE) ShowMessage("Moving file error"); if(CopyFile(NewPath.c_str(),OriginalPath.c_str(),FALSE) == FALSE) ShowMessage("Copying file error"); if(MoveFileEx(NewPath.c_str(),NULL,MOVEFILE_DELAY_UNTIL_REBOOT) == FALSE) ShowMessage("Moving file error");
bonjour
Reshhcker ne fonctionne pas avec un processous tournant sous ton systèmee te donne un exemple:
Si tu connais ResHacker.
http://www.angusj.com/resourcehacker/reshack.zip
C'est pour parcourir les ressources d'un (EXE dll ... ... ... ...).
Tu peux avec ResHacker modifier ces resources.
Si le App.xxx est modifier et tu veux le sauvegarder et si le App.xxx est en cour d'utilisation il sauvegarde l'ancien fichier sous App_original.xxx et le nouveau sous App.xxx
Alors tu ne peux pas supprimer App_original.xxx par contre tu peux supprimer App.xxx
il ne fait qu'ouvrir l'exécutable(exe,dll,ocx) et d'en extraire les resources,
de les modifier, de les copier sous forme de resource et également de mettre a jour l'exécutable qui a été modiofié il genère également un fichier Backup
cordialement
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager