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 :

Ouvrir fichiers sélectionés dans visionneuse image windows


Sujet :

C#

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 151
    Points : 87
    Points
    87
    Par défaut Ouvrir fichiers sélectionés dans visionneuse image windows
    Bonjour à tous

    Je souhaiterai ouvrir plusieurs fichiers image dans la visionneuse windows (ou disons l'application choisi par défaut dans Windows pour ouvrir les images, jpeg en l'occurence).

    En gros j'ai un dossier, pouvant contenir des centaines d'images, je voudrais automatiser l'utilisateur qui sélectionne plusieurs images (via touche ctrl + clic) puis la touche entrée, ce qui permet d'ouvrir uniquement les fichiers sélectionnés dans l'application de visionneuse d'image.

    Pour ce qui est de la sélection, j'ai pu programmer quelque chose qui fonctionne et me donne le noms des fichiers que je souhaite ouvrir dans un tableau (une liste plus précisement) de string. Le tableau ne contient que les noms (avec extension), mais je possède le chemin complet également.

    Est-ce qu'il y a un moyen ?

  2. #2
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 705
    Points : 5 325
    Points
    5 325
    Par défaut
    Pour ouvrir un fichier avec son application par défaut, un simple Process.Start devrait faire l'affaire.

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 151
    Points : 87
    Points
    87
    Par défaut
    Citation Envoyé par popo Voir le message
    Pour ouvrir un fichier avec son application par défaut, un simple Process.Start devrait faire l'affaire.
    Mais cela ne fonctionne qu'avec un seul fichier, pas la liste complète, non ?
    Je ne veux pas non plus ouvrir un process par fichier vu que je peux avoir plusieurs centaines de fichiers à ouvrir d'un coup.

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 184
    Points : 1 727
    Points
    1 727
    Par défaut
    bah tu veux faire comment pour ouvrir x fichiers dans x fenêtres de l'application ?
    Comment ça se passe quand tu le fait manuellement ? (et avec des centaines d'images, ça peut freezer le PC le temps d'ouvrir et charger les images (surtout si elles sont lourdes et nombreuses)

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 151
    Points : 87
    Points
    87
    Par défaut
    Citation Envoyé par umfred Voir le message
    bah tu veux faire comment pour ouvrir x fichiers dans x fenêtres de l'application ?
    Comment ça se passe quand tu le fait manuellement ? (et avec des centaines d'images, ça peut freezer le PC le temps d'ouvrir et charger les images (surtout si elles sont lourdes et nombreuses)
    Justement, je ne veux pas ouvrir x fenêtres, mais juste une seule !
    Manuellement je fait "ctrl" + click sur les images que je veux sélectionner puis "Enter", ça m'ouvre l'application par défaut de windows pour visionner des images (1 seule fenêtre) et quand je fais suivant ca passe à l'image qui avait été sélectionnée suivante.
    Je veux reproduire ça depuis mon application. Si ça freeze un peu c'est pas trop grave.

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 184
    Points : 1 727
    Points
    1 727
    Par défaut
    ça va être propre à la visionneuse utilisée.
    si l'application par défaut est une autre (paint par exemple), ça devrait ouvrir une fenêtre par image.

    Si la fameuse application est la tienne, alors, il faut récupérer la liste des fichiers qui seront passer en "paramètres de ligne de commande" et la traiter

  7. #7
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 151
    Points : 87
    Points
    87
    Par défaut
    Je me doute qu'il va falloir passer la liste en paramètres, mais comment ?
    Genre
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    Process.Start("appli.exe", listeDesFichiers)
    comme ça tel quel ?

    Il est difficile de faire des recherches sur le sujet, je trouve pas grand chose, que ce soit en francais ou en anglais...
    Mais avant même de penser aux paramètres, je me retrouve confronter à un autre problème: ouvrir spécifiquement l'appli "Photos" de Windows ! Il semblerai qu'elle soit bien cachée et innaccessible manuellement: https://answers.microsoft.com/en-us/...4-9a1834293523

    En soit, plutôt que de spécifier l'application, je préfèrerai laisser l'ordinateur lancer l'application qui a été définie par défaut dans Windows, sans avoir à me soucier de quelle application il s'agit, je trouve ça plus propre. Mais est-ce que c'est possible du coup ?

    PS: Je ne sais pas encore si cela aura une incidence, mais ma cible finale est Windows 11.


    Edit >> Je viens de voir que si on met le chemin d'un fichier + nom avec extension dans Process.Start ça ouvre le fichier avec l'application par defaut. Le problème restant que cela ne permet d'ouvrir qu'un seul fichier...

  8. #8
    Membre du Club
    Homme Profil pro
    Alternant
    Inscrit en
    Octobre 2019
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Alternant

    Informations forums :
    Inscription : Octobre 2019
    Messages : 48
    Points : 66
    Points
    66
    Par défaut
    Utilise simplement une boucle pour ouvrir les fichiers 1 à 1

  9. #9
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 151
    Points : 87
    Points
    87
    Par défaut
    Citation Envoyé par iR3SH Voir le message
    Utilise simplement une boucle pour ouvrir les fichiers 1 à 1
    Cela va ouvrir une nouvelle application pour chaque fichier donc ce n'est pas ce que je souhaite...
    Pour rappel je peux avoir plusieurs centaines de fichiers à ouvrir.

  10. #10
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 184
    Points : 1 727
    Points
    1 727
    Par défaut
    en ligne de commande, il n'est pas possible de passer plusieurs fichiers à l'appli Photos de windows (j'ai testé)
    Pour lancer l'application c'est start ms-photos:viewer (viewer est optionnel, mais les 2 points sont obligatoires)

  11. #11
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 151
    Points : 87
    Points
    87
    Par défaut
    Merci pour le test, ça confirme ce que j'ai pu voir de mon côté aussi.
    Il semblerai donc que ce ne soit pas possible...

  12. #12
    Membre chevronné
    Homme Profil pro
    edi
    Inscrit en
    Juin 2007
    Messages
    903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : edi

    Informations forums :
    Inscription : Juin 2007
    Messages : 903
    Points : 1 922
    Points
    1 922
    Par défaut
    Quelle est l'application que les utilisateurs sont censés utiliser ? Une application de leur choix ou une spécifique qui est préconisée ? Et quelle est la nature exacte de l'automatisation que tu souhaites effectuer ? Est-ce un programme en particulier qui doit effectuer la sélection ?

  13. #13
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 184
    Points : 1 727
    Points
    1 727
    Par défaut
    pour compléter la demande, tu as dit au début avoir programmer un truc pour la sélection des fichiers de façon à en avoir la liste.

    Si c'est ton programme qui les affiche (à défaut d'une application tierce), tu ajoutes une picturebox, les boutons gauche/droite (ou/et l'interception des touches gauche/droite) et tu fais défiler toi même dans ta picturebox les fichiers sélectionnés.

  14. #14
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 151
    Points : 87
    Points
    87
    Par défaut
    J'ai deja répondu à toutes ces questions, mais pour rappel:
    Citation Envoyé par Noxen Voir le message
    Quelle est l'application que les utilisateurs sont censés utiliser ? Une application de leur choix ou une spécifique qui est préconisée ? Est-ce un programme en particulier qui doit effectuer la sélection ?
    → Application paramétrée par défaut dans Windows pour ouvrir les images. Je souhaite simplement automatiser ce que fait Windows quand on sélectionne des images et clique sur "Entrée", de façon à pouvoir envoyer via ma liste et ne pas avoir a tout sélectionner par moi-même, ce qui prend plusieurs minutes à faire et est facilement source d'erreurs, pouvant parfois amener a tout recommencer...

    Citation Envoyé par Noxen Voir le message
    Et quelle est la nature exacte de l'automatisation que tu souhaites effectuer ?
    → Ouvrir les fichiers (images) sélectionnés (présent dans un même dossier)

    Citation Envoyé par umfred Voir le message
    pour compléter la demande, tu as dit au début avoir programmer un truc pour la sélection des fichiers de façon à en avoir la liste.

    Si c'est ton programme qui les affiche (à défaut d'une application tierce), tu ajoutes une picturebox, les boutons gauche/droite (ou/et l'interception des touches gauche/droite) et tu fais défiler toi même dans ta picturebox les fichiers sélectionnés.
    → J'ai préféré éviter d'en arriver là, c'est pas aussi "propre" et pratique, mais après tout ça peut le faire éventuellement... Je vais regarder ce que ca donne.

  15. #15
    Membre émérite
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    2 267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 2 267
    Points : 2 418
    Points
    2 418
    Par défaut
    Bonjour,

    Tu as l'air d'hésiter entre ouvrir une seule fenêtre pour visionner les images, et ouvrir une fenêtre par image. Or, pour donner des instructions claires au programme, il va bien falloir que tu tranches.

    Ce que tu veux faire me parle car j'ai développé un "diaporama", qui ouvre une fenêtre IrfanView par image. Du coup je peux te dire qu'il est souhaitable de ne pas dépasser 200 fenêtres IrfanView (donc, sur ce modèle, 200 images). Enfin ce sont des limites que j'ai observées sur ma machine, qui a 64 Go de mémoire vive. Au-delà IrfanView ne réussit plus à distinguer les fenêtres entre elles. Je n'ai pas creusé la question de savoir à quel niveau se situe la limite, et donc si c'est lié à la mémoire de la machine, ou à une structure d'IrfanView.

    Pour chaque image, je cherche son nom dans tous les répertoires reconnus. L'intérêt, c'est que ça ne pose aucun problème de déplacer une image d'un répertoire à un autre, soit parce qu'on atteint la limite de capacité d'un répertoire, soit parce qu'une extension enregistre dans un répertoire, et qu'après avoir filtré le résultat je veux transférer ça dans un autre. L'inconvénient de la démarche se situe au niveau des homonymes.

    Pour ouvrir une image, une fois qu'on a le chemin d'accès complet, comme ça a déjà été évoqué c'est Process.Start. En passant en argument le chemin de l'image ça l'ouvre avec l'application par défaut, à ce que je me rappelle c'est ça que tu veux faire. Sinon une application peut être en premier paramètre, et le chemin de l'image en second.

    Pour sélectionner l'image une fois qu'elle est déjà ouverte, peut-être quelqu'un aura-t-il quelque chose de plus propre à proposer, je fais ça avec les API Windows.

    Quand j'ai créé le projet je cherchais les signatures sur
    http://pinvoke.net/

    Maintenant on a des chances d'être plus à jour sur
    https://learn.microsoft.com/fr-fr/wi...ndows-api-list

    À un moment il était question d'un composant à installer sur la machine de développement.

Discussions similaires

  1. Réponses: 8
    Dernier message: 22/02/2008, 12h55
  2. Insérer fichier pdf dans LaTeX sous Windows
    Par kawel dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 1
    Dernier message: 07/09/2006, 16h33
  3. [C#]Ouvrir fichier XML dans WOrd
    Par Terminator dans le forum Windows Forms
    Réponses: 1
    Dernier message: 30/07/2006, 09h53
  4. Réponses: 3
    Dernier message: 13/12/2005, 00h21
  5. [FB 1.5] ouvrir fichier texte dans une ps
    Par jlf dans le forum Débuter
    Réponses: 4
    Dernier message: 16/02/2005, 20h29

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