Page 1 sur 1

[R] Fermer winrar après extraction

Posté : lun. 08 févr. 2010 10:24
par pierre
Bonjour,

Existe il une fonction pour fermer un processus quand il n'est plus utilisé ?
Dans mon cas, je souhaiterai que winrar se ferme après extraction du fichier.
(pour le moment je fait sleep et processclose mais les fichiers ne font pas la même taille et donc ou je perd du temps ou winrar se ferme trop tôt...)

Alors oui je me doute que je vais me faire bâcher parce que j'ai regardé la documentation de travers ou que le sujet a déjà été traité....
Mais non, je n'ai pas trouvé ( :oops: ) et débutant que je suis, je patauge un peu.

Merci d'avance

Re: [..] Fermer winrar après extraction

Posté : lun. 08 févr. 2010 11:23
par Iste
Essayer de jouer avec ProcessGetStats()
Sinon, je pense que le mieux serais de controler les control de la fenetre.
Je ne me souviens plus a quoi elle ressemble, mais a la fin il doit bien y avoir ecrit "fini" ou autre.

recuperer l'id du control a l'aide d'AU3Info.exe puis de le lire avec ControlGetText()

Re: [..] Fermer winrar après extraction

Posté : mar. 09 févr. 2010 01:00
par Tlem
Pourquoi ne pas tout simplement scripter Winrar afin d'extraire votre fichier.

Si votre archive est un ZIP, il existe aussi un UDF + une DLL pour gérer l'extraction. ;)

Re: [..] Fermer winrar après extraction

Posté : mar. 09 févr. 2010 10:06
par Habibsbib
Je te conseille cet #include justement :

http://www.autoitscript.fr/forum/downlo ... php?id=890

Re: [..] Fermer winrar après extraction

Posté : mar. 09 févr. 2010 10:09
par Tlem
@Habibsbib

Dans un cas comme celui-ci, le mieux est de donner le lien du message. ;)
http://www.autoitscript.fr/forum/viewto ... =21&t=1943

Re: [..] Fermer winrar après extraction

Posté : mar. 09 févr. 2010 14:37
par pierre
Bonjour,

merci de vos réponses. Voici quelques précisions :
-il s'agit d'archives .rar avec mot de passe
-le but est d'ouvrir à chaque utilisation un dossier au hasard (Random)
- extraire n'est pas le mot juste : je souhaite simplement ouvrir un fichier de l'archive sans l'extraire dans un dossier. Certains fichiers font plus de 200Mo et d'autres seulement quelques ko ce qui pose problème avec mon code (de débutant) que voici :

Code : Tout sélectionner

ShellExecute("E:\prof\dossiersetu1.rar")
Sleep(800)
Send("pass{ENTER}")
Sleep(2000)
    $i=0
    While 1
    if $i= $results2 then Exitloop
    Send("{down}")
    $i=$i+1
        Wend
Send("{ENTER}")
Sleep(12000) ;c'est là où se pose mon probleme (temps trop long ou trop court !)
ProcessClose("WinRAR.exe")
 
Apparemment, avec du zip, l'ouverture sans extraction c'est ok avec : 7ZipOpenArchive et la fermeture aussi avec 7ZipCloseArchive. Et je viens de voir quelques autre fonctions bien utile !! Reste à à savoir si l'UDF peut gérer le .rar. Domage que le .zip ne permet pas de mot de passe (si je ne me trompe pas...)

Re: [..] Fermer winrar après extraction

Posté : mar. 09 févr. 2010 21:05
par Tlem
Vous dites, qu'extraire n'est pas le mot juste !!!
Mais si vous voulez ouvrir un fichier contenu dans une archive, il faut bien l'extraire ... :roll:

Avec les éléments que vous avez donné, je vous conseil plutôt l'utilisation de ceci :
http://www.autoitscript.com/forum/index ... t&p=551866

Re: [R] Fermer winrar après extraction

Posté : mer. 10 févr. 2010 10:52
par pierre
Quand on utilise winrar, le click droit propose "extract files..." qui va enregistrer les fichiers sur la machine. Si j'ouvre l'archive puis double click sur le fichier, il s'ouvre sans l'enregistrer (ce que je souhaite faire) : d'où la confusion du terme extraire !
Merci Tlem, je dois pouvoir recoder tout ça pour arriver à ce que je souhaite.

Re: [R] Fermer winrar après extraction

Posté : mer. 10 févr. 2010 14:02
par Tlem
Vous avez l'impression qu'il n'est pas enregistré, mais en réalité, si vous allez dans le dossier des fichiers temporaires de votre profil (C:\Documents and Settings\%UserProfile%\Local Settings\Temp) vous verrez que ce fichier s'y trouve. ;)