Déplacer ou copier le fichier exécuté

Résolu
AtomiKiller Messages postés 127 Date d'inscription lundi 28 juillet 2003 Statut Membre Dernière intervention 11 juin 2008 - 3 mai 2005 à 23:48
amin_t535 Messages postés 1 Date d'inscription samedi 18 mars 2006 Statut Membre Dernière intervention 14 mai 2006 - 14 mai 2006 à 13:34
Bonjour tout le monde, j'ai un petit soucis, j'ai besoin que lorsque
mon programme va être exécuté, il faut impérativement qu'il aille se
copier ou se déplacer dans windir.



Pouvez vous m'aider s'ilvouplait ? car je n'ai aucune idée des codes et j'ai besoin d'avoir fini le script assez rapidement :(.



Merci d'avance à tout le monde !

7 réponses

ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
5 mai 2005 à 02:33
De rien.


Je ne comprends toujours pas vraiment ce que tu cherches à faire!!!
Serait-ce un prog d'installation??? Je ne sais pas... mais je pense qu'il y a des techniques plus simples pour lancer automatiquement un prog à chaque demarrage comme, par exemple, placer tout simplement son raccourcis dans le menu demarrer de Windows (simple, mais efficace!!!). Enfin bref, je suis peut-être trop curieux apres tout... cela ne me regarde pas.


Donc, pour répondre à ton problème, j'ai fait quelques testes et, apparemment, aussi surprenant que cela puisse paraître (a cause de la violation de partage), on peut en effet copier un programme qui est en cours d'execution. Le seul bémol que j'ai constaté, c'est qu'on ne peut pas écraser un prog qui est en cours d'execution (normal hey!!! manquerait plus qu'ça!!!). Bref, tu peux bien copier ton exe quant il tourne, mais pas sur lui-même. Donc, il faut en effet (je vois que tu y a pensé) activer le gestionnaire d'erreurs.



Voyant que tu n'as rien contre l'utilisation des scripts (contrairement à d'autres [les pro API entre autre] qui hurleraient au blasphème), j'ai fait au plus simple en utilisant le FSO (FileSystemObject) issu du VBA (si je dis pas de conneries!). Il te permet de faire plein de trucs concernant la manipulation des fichiers et ce, super facilement. Il parait que c'est pas rapide... moi, perso, avec mon 333Mhz, j'en suis pas à 20 nano-secondes prés ;-). Par contre, pour diffuser ton prog, il faudra t'assurer que la dll du FSO y soit présente avec. Pour toute aide, regarde la MSDN (online si tu l'as pas sur ton PC) qui est l'aide du VB.


Voici la technique que je te propose :


'Facultatif :
Dim strWinDir As String 'Créer une variable string...
Dim objFSO As Object 'Créer une variable objet (comme dans ton code)


'Créer une instance FSO
Set objFSO = CreateObject("Scripting.FileSystemObject")


'Récupère le chemin du dossier spécial qu'est celui de Windows.
'Note que la méthode renvoie une string et non une réf.
'C'est pour ça que j'ai rajouté le "" à la fin.
strWinDir = objFSO.GetSpecialFolder(0) & ""
'Note également que la méthode est limité. Pour acceder à plus de dossiers spéciaux il faut utiliser une API [que je peux t'expliquer au besoin]


'Copier un fichier...
objFSO.CopyFile "source.exe", "destination", True
'Remplace {"destination"} par {strWinDir}.
'Note que le 3ème argument (True) est pour l'acceptation automatique de l'écrasement si un fichier du même nom existe dans le dossier de destination.



Bref, c'est simple comme bonjour !


Je ne suis pas sûr que ce soit le plus efficace, mais c'est le plus simple!


Est-ce que cela résout ton problème et répond à ta question dit moi ?????

(P.S. : Si la réponse te convient, clique sur "Accepter la réponse" à gauche de ce post...)
3
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
4 mai 2005 à 02:48
Dis moi, c'est quoi ton problème au juste :

Copier un fichier ?

Le copier dans windir ?

Ou copier un fichier en cours d'execution ?
Tu codes en quoi ??? VB, VBA ou VBS ???
0
AtomiKiller Messages postés 127 Date d'inscription lundi 28 juillet 2003 Statut Membre Dernière intervention 11 juin 2008
4 mai 2005 à 12:40
Désolé hier soir je dormais un peu, excusez ma maladresse.

Alors je code en Vb6.0, et je ne connais pas le moyen de copier le
fichier exécuté, et je ne suis pas sûr de la commande pour le copier
dans le windir.



J'espère avioir été plus précis, merci a vous ;)
0
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
4 mai 2005 à 16:23
Je te pardonne ;-)

Dis moi, qu'essaies-tu de faire exactement??? Pourquoi as-tu besoin de copier un prog en cours d'execution dans une autre dossier??? Bien mystérieux tout ça!!!

La solution serait peut-être de faire une copie de ton exe que ton prog originel copira puis lancera...

Sinon, il faut utiliser le FSO... c'est ce qu'il y a de plus simple. Autrement, y'a bien encore les API, mais là, faut s'y connaitre un peu...

Sinon, je pense qu'on ne peut pas copier un prog en cours d'execution... Mais je vais faire des teste et ton pondrait d'ici ce soir ou demain ta solution.

++

(la patience est mère de toutes les vertues ;-)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
AtomiKiller Messages postés 127 Date d'inscription lundi 28 juillet 2003 Statut Membre Dernière intervention 11 juin 2008
4 mai 2005 à 16:30
Ok merci bien à toi de ton aide, je saurai attendre si besoin pas de soucis ;).



Sinon pour révéler le mystère, je voudrais que mon programme s'éxécute à chaque redémarrage de l'ordinateur ainsi :



Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)

On Error Resume Next

Adresse = GetEnvVar("windir") & "\Panel.exe"

Set WshShell = CreateObject("WScript.Shell")

WshShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\Panel", Adresse, "REG_SZ"

Shell Adresse

End Sub



Donc il faudrait que mon logiciel se copie automatiquement dans windir
plutôt que d'aller le mettre manuellement .. Merci de tes réponses ;)
0
AtomiKiller Messages postés 127 Date d'inscription lundi 28 juillet 2003 Statut Membre Dernière intervention 11 juin 2008
5 mai 2005 à 02:46
Merci beaucoup à toi pour ton aide si précieuse !! Tu as résolu mon soucis apparement ! Merci encore :) ^^
0
amin_t535 Messages postés 1 Date d'inscription samedi 18 mars 2006 Statut Membre Dernière intervention 14 mai 2006
14 mai 2006 à 13:34
Bonjour mes amis,
je voudrais savoir le control "ScrollableControl" en vb.Net a quoi sert ce controle la et quand on le utilise et comment Rponds moi PLZ ou sur mon e-mail [mailto:amin_t535@yahoo.fr amin_t535@yahoo.fr]
NB: j'ai deja chercher dans google mais j'ai rien trouvé
et merci en avance.
0
Rejoignez-nous