Résolu Extraire un .rar [C/C++/C#]

21 Savage

Premium
Inscription
2 Janvier 2014
Messages
5 758
Réactions
1 681
Points
10 988
RGCoins
50
Slt,

Je voudrais extraire un .rar,zip via ma form, vous avez une fonction ou autre ?
merci
j'utilise cette source pour faire des test ;)


@DEVR0
 
Coucou !

Faire ton propre compresseur & décompresseur te demandera des base avancé du C#.
Cependant, pour faire plus simple et surtout pour ne pas ce compliquer la vie, tu peut utiliser la console de commande "winrar.exe" qui te permettra d’exécuter les commande que tu souhaite à condition d'être valide.

Pour ce faire, tu devra ajouter la directive "system.diagnostics" dans ton code-source.
Code:
using system.diagnostics;
Ensuite, tu peut faire un appel à la commande de console "winrar.exe".
Code:
Process winrarConsole = Process.Start("winrar.exe", "la commande à exécuter");
winrarConsole.WaitForExit();
 
Coucou !

Faire ton propre compresseur & décompresseur te demandera des base avancé du C#.
Cependant, pour faire plus simple et surtout pour ne pas ce compliquer la vie, tu peut utiliser la console de commande "winrar.exe" qui te permettra d’exécuter les commande que tu souhaite à condition d'être valide.

Pour ce faire, tu devra ajouter la directive "system.diagnostics" dans ton code-source.
Code:
using system.diagnostics;
Ensuite, tu peut faire un appel à la commande de console "winrar.exe".
Code:
Process winrarConsole = Process.Start("winrar.exe", "la commande à exécuter");
winrarConsole.WaitForExit();
C'est possible de l'intégrer au source code que j'ai cité ?
 
C'est possible de l'intégrer au source code que j'ai cité ?
Très certainement, le code source est du même langage et du même Framework.
Suffit de ce salir un peut les mains et d'ajouter le code précédant dans la forme ou dans un bouton. ( Tu es libre de choisir le lieux )
 
Les .rar c'est compliqué comme c'est pas propre à Windows. :mmh:

Sinon tu as une bibliothèque 7zip qui peut décompresser/comprésser les .rar, .zip et j'en passe. :D

Plus d'infos ici:
 
Le problème est que "Ionic.Zip.dll" te permet de décompresser seulement les fichiers de type .zip et non ceux de type .rar :espion:
Pas de problème tant que c'est compresser ;)

Les .rar c'est compliqué comme c'est pas propre à Windows. :mmh:

Sinon tu as une bibliothèque 7zip qui peut décompresser/comprésser les .rar, .zip et j'en passe. :D

Plus d'infos ici:
merci !

utilise l'api Ionic.Zip.dll elle te permettra de décompresser tes fichier simplement
je vais essayer, je l'avais déjà ce .dll
 
Dernière édition par un modérateur:
Coucou !

Faire ton propre compresseur & décompresseur te demandera des base avancé du C#.
Cependant, pour faire plus simple et surtout pour ne pas ce compliquer la vie, tu peut utiliser la console de commande "winrar.exe" qui te permettra d’exécuter les commande que tu souhaite à condition d'être valide.

J'ai une erreur:/

127b098471a94623345b236f998f941f.png



Ma fonction.

Code:
private void DownloadUpdate(UpdaterXml update)
        {
            DownloadForm form = new DownloadForm(update.Uri, update.MD5, this.applicationInfo.ApplicationIcon);
            DialogResult result = form.ShowDialog(this.applicationInfo.Context);

            if (result == DialogResult.OK)
            {
                string currentPath = this.applicationInfo.ApplicationAssembly.Location;
                string newPath = Path.GetDirectoryName(currentPath) + "\\" + update.FileName;

                UpdateApplication(form.TempFilePath, currentPath, newPath, update.LaunchArgs);
                Process winrarConsole = Process.Start("winrar.exe", "unrar e c:\file.rar");
                winrarConsole.WaitForExit();

                Application.Exit();
            }
            else if (result == DialogResult.Abort)
            {
                MessageBox.Show("L'installation de la mise à jour a été annulée.\nL'application n'a pas été modifiée.", "Information de mise à jour", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else
            {
                MessageBox.Show("Un problème est survenu lors de la mise à jour, veuillez réessayer.\nSi le problème persiste, veuillez le signaler.", "Information de mise à jour", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
 
Retour
Haut