IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Compacter (Zipper) sans librairie (Windows only)


Sujet :

C#

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    467
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 467
    Points : 681
    Points
    681
    Par défaut Compacter (Zipper) sans librairie (Windows only)
    Bonjour


    Pour envoyer des photos par email par exemple je trouve pratique de les compacter par n'avoir qu'un seul fichier à envoyer.

    Ma procédure manuelle est des faire [Clique-droit>Nouveau>Dossier Compressé]
    puis de placer [Drag n' Drop] mes photos dedans avec la souris.

    J'aimerai réaliser la même logiciellement. Cela doit bien être possible !?

    -Bien sûr en partant du principe que l'ordinateur possède à l'avance ces fonctions -

    Quand je veux dire réaliser la même chose. Je veux dire utiliser un truc dans Windows pour faire exactement [Clique-droit>Nouveau>Dossier Compressé]
    et puis un déplacé de fichier dedans.

    Je ne veux pas utiliser une pseudo-libraire Zip libre car dans bien des cas le résultat n'est pas correct pour l'envoi par email. Par exemple Hotmail n'accepte pas ces fichier zippés pensant qu'ils peuvent contenir de virus. Mais bon c'est pas grave car ma question ici n'est pas d'écrire une nouvelle librairie mais de connaître la méthode pour accéder aux fonctions de Windows.

    Ainsi savez vous comment automatiser les choses que l'on fait normalement manuellement sous windows ?

    Comment faire un programme qui fait [Clique-droit>Nouveau>Dossier Compressé] ?

    Ou encore [Clique-droit>Envoyer vers>Dossier compressé] ?

    Je pense que c'est une question très importante qui peut servir à bien d'autres choses

    Merci

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    467
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 467
    Points : 681
    Points
    681
    Par défaut
    Citation Envoyé par Thomas Lebrun Voir le message
    Un article de 2005 je comprends pô comment j'ai pu passer à côté à l'époque où je cherchais une librairie zip !!!

    Ah oui je me souviens ! Je cherchais avant tout un format de compression qui puisse être lu facilement sur n'importe quel ordinateur Windows. Et là le GZip ne convenait et convient toujours pas puisque le format .gzip/.gz n'est pas directement compris sur un ordinateur lamba

    A moins qu'il suffit de renommer .gz en .zip !? - je vais faire le test

    A noter que je cherche seulement à compacter pas à compresser puisque le but est de compacter des jpg (déjà compressés)

    Cependant ma question de base reste quand même :

    "Comment en C# copier des fichiers dans un Zip déjà créé comme on le ferait manuellement avec un [Drag n' Drop] sous Windows ?"

    Je pense avoir un début de réponse : Déjà faut pas utiliser le terme Windows mais plutôt d'Explorer

    Ainsi ma question serait plutôt : "comment automatiser un action de [Drag n' Drop] faite sous Explorer ?"

    Et là j'ai l'impression qu'il faille ce tourner vers l'échange dynamique de données (Dynamic Data Exchange, ou DDE) apparu avec la version 3.0 de Windows !!!!

    Existe-il une méthode .Net et non obsolète pour parvenir à communiquer avec Explorer !?


    En tout cas un grand merci au grand Thomas Lebrun pour cette prompte réponse

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Normalement hotmail ne refuse pas les pièces jointes zippées, à moins qu'elles ne contiennent réellement un virus...

    Le format GZip est lu par la plupart des utilitaires de compression, mais n'est pas reconnu par Windows. Le format ZIP n'étant pas libre, .NET n'inclut pas de fonctions pour compresser en ZIP. Par contre la librairie SharpZipLib est largement reconnue comme fiable et très utilisée.

    Une autre possibilité, si tu as un utilitaire de compression utilisable en ligne de commande, est d'appeler cet utilitaire à partir de ton programme pour réaliser la compression en ZIP (ou autre format)

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    467
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 467
    Points : 681
    Points
    681
    Par défaut
    SharpZipLib est justement la dernier librairie que j'utilisais et j'affirme qu'il ne peut pas avoir de virus dans mon Zip puisque j'y insére des Jpgs créés moi même avec la GDI+

    Et ce Zip créé a déjà posé quelques soucis sur des boites aux lettres électronique. Genre "signature zip incorrecte par précaution impossible à insérer ou à lire"

    Peut être que la dernière version de SharpZipLib arrange cela !


    > (...) si tu as un utilitaire de compression utilisable en ligne de commande (...)

    C'est pour un programme devant marcher sur n'importe quelle machine (avec .NET 2). Donc ce n'est pas la voie


    Je vais voir du coté de [Envoyer vers>Dossier compressé] quand on fait un [clique droit] sur un fichier. Il doit exister un moyen d'utiliser ce truc dans un programme.

  6. #6
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Citation Envoyé par ijk-ref Voir le message
    C'est pour un programme devant marcher sur n'importe quelle machine (avec .NET 2). Donc ce n'est pas la voie
    Et alors ? il suffit de prendre un utilitaire en ligne de commande (par exemple, 7zr de 7-zip) et de le copier dans ton programme. Il sera installé en même temps que ton programme et tu pourra l'utiliser tranquillement via Process.Start ...

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par smyley Voir le message
    Et alors ? il suffit de prendre un utilitaire en ligne de commande (par exemple, 7zr de 7-zip) et de le copier dans ton programme. Il sera installé en même temps que ton programme et tu pourra l'utiliser tranquillement via Process.Start ...
    Je suis pas sûr qu'il ait le droit de faire ça... en tous cas il faut vérifier les termes de la licence de l'utilitaire.

  8. #8
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Citation Envoyé par Le site de 7zip
    7-Zip est un logiciel open source. La plupart du code est sous licence GNU LGPL
    Citation Envoyé par FAQ de 7zip
    Can I use the EXE or DLL files from 7-Zip in a Commercial Application?

    Yes, but you are required to specify in your documentation (1) that you used parts of the 7-Zip program, (2) that 7-Zip is licensed under the GNU LGPL license and (3) you must give a link to www.7-zip.org, where the source code can be found.
    Tu penses que j'aurai dit ça sans savoir de quoi je parle, surtout question licence ?

  9. #9
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par smyley Voir le message
    Tu penses que j'aurai dit ça sans savoir de quoi je parle, surtout question licence ?
    bien vu

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    467
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 467
    Points : 681
    Points
    681
    Par défaut
    C'est vrai, c'est pas bête ça !

Discussions similaires

  1. lancer une application perl+tk sans console (windows/linux)
    Par mmiikkll dans le forum Interfaces Graphiques
    Réponses: 5
    Dernier message: 07/09/2010, 16h56
  2. Impression Javascript sans utiliser windows.print()
    Par Olaf MENJI dans le forum Général JavaScript
    Réponses: 27
    Dernier message: 18/01/2008, 18h50
  3. infos sur le log shipping sans authentification windows
    Par PhilZZR12 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 13/06/2006, 10h26
  4. Librairie windows pour Treeview
    Par Racob dans le forum IHM
    Réponses: 2
    Dernier message: 08/06/2006, 13h53
  5. [Débutant] utilisation de la librairie windows
    Par tavman dans le forum Windows
    Réponses: 12
    Dernier message: 27/08/2005, 16h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo