Lancement d'un process de compression

Signaler
Messages postés
30
Date d'inscription
dimanche 20 juillet 2003
Statut
Membre
Dernière intervention
26 janvier 2019
-
Messages postés
15412
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
21 janvier 2021
-
Bonjour,

J'ai cherché sur plusieurs forum sans trouver de réponse à mon problème.

Je souhaite démarrer un process de type compression de données et attendre la fin de celui-ci avant d'en démarrer un autre mais surtout sans qu'une fenêtre ne s'ouvre. Par exemple démarrer la compression d'un répertoire avec Rar.exe sans que la fenêtre type DOS ne s'ouvre.

Jusqu'à présent je n'ai résolu qu'une partie de mon problème en utilisant les deux méthodes suivantes :

Avec "Process.start", j'attends la fin du process pour passer au suivant mais j'ouvre une fenêtre type DOS :
Dim CheminDeRarExe as string = "C:\Program Files\WinRAR\Rar.exe"
Dim Attributs as string = " a -ep -inul -m5 -df LeFichier.rar C:\LeDossierACompresser\"
Dim Compression = Process.start(CheminDeRarExe , Attributs)
Compression.WaitForExit()


Avec "ProcessStartInfo", je n'ouvre pas de fenêtre de type DOS mais par contre, je n'attends pas la fin de celui-ci avant de passer au suivant :
Dim CheminDeRarExe as string = "C:\Program Files\WinRAR\Rar.exe"
Dim Attributs as string = " a -ep -inul -m5 -df LeFichier.rar C:\LeDossierACompresser\"
Dim RarProc As New ProcessStartInfo(CheminDeRarExe)
RarProc.WindowStyle = ProcessWindowStyle.Hidden
RarProc.Arguments = Attributs
Process.Start(RarProc)


Là, je sèche...

Auriez-vous une solution ?

Par avance, merci

1 réponse

Messages postés
15412
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
21 janvier 2021
503
Bonjour
à partir du moment ou tu lances un autres logiciel, il se comportera comme il est sensé le faire.
Rar.exe est semble t il prévu pour afficher la console.

La framework sait faire une compression sans outils externe.
https://msdn.microsoft.com/fr-fr/library/system.io.compression.zipfile(v=vs.110).aspx