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

Windows Discussion :

ouvrir un fichier avec une application quelconque


Sujet :

Windows

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 45
    Points : 49
    Points
    49
    Par défaut ouvrir un fichier avec une application quelconque
    Tout d'abord, veuillez escuser l'orthographe : j'ai un(mauvais) clavier ASCII et un corecteur d'orthographe anglais.

    Question :
    Y aurait-il un moyen d'ouvrir un fichier avec une application donnee mais inconu? Autrement dit, faire exactement ce qui se passe lorsqu'on glisse l'icone d'un document vers l'icone d'un executable dans l'exploreur Windows?

    contexte:
    Je programme une application (en Delphi) generant un fichier HTML.
    Une fois ce fichier cree, je souhaite que l'utilisateur puisse l'editer avec l'editeur de son choix; le chemin vers l'executable de l'editeur etant stocke dans le fichier de parametre.

    Dans beaucoup de cas, je peut utiliser ShellExecute de la facon suivante:
    ShellExecute(NULL, 'open', Application, Document, NULL, SW_SHOWNORMAL);
    (en mettant, de preference, des guillemets autour chemin du document)

    Mais dans l'absolut, le 4ieme parametre est une chaine de caractere dont j'ignore le format attendu puisque je ne sais pas quelle application vas choisir l'utilisateur.

    Merci d'avance

  2. #2
    Expert éminent
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Points : 8 389
    Points
    8 389
    Par défaut
    Désolé mais j'ai rien compris à ton problème.
    Citation Envoyé par madlozoz
    Je programme une application (en Delphi) generant un fichier HTML. Une fois ce fichier cree, je souhaite que l'utilisateur puisse l'editer avec l'editeur de son choix;
    Là déjà je ne vois pas le problème. Il peut modifier lapage web avec le Bloc-notes s'il le veut. Donc soit il le fait lui-même soit c'est ton appli qui le fait (ShellExecute).
    Citation Envoyé par madlozoz
    Mais dans l'absolu, le 4eme parametre est une chaine de caractere dont j'ignore le format attendu puisque je ne sais pas quelle application vas choisir l'utilisateur.
    Rien compris. Le 4ème paramètre c'est les arguments à passer au programme donc en principe (pour ouvrir un fichier) juste le chemin vers le fichier. Essaie d'être plus clair.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 45
    Points : 49
    Points
    49
    Par défaut
    Citation Envoyé par Melem Voir le message
    Désolé mais j'ai rien compris à ton problème.
    Là déjà je ne vois pas le problème. Il peut modifier lapage web avec le Bloc-notes s'il le veut. Donc soit il le fait lui-même soit c'est ton appli qui le fait (ShellExecute).
    Le but de mon appli est de generer un document HTML (en l'occurence une feuille d'exercice) mais ce n'est absolument pas un editeur de page web. Donc, je souhaite ajouter un bouton nommer "editer cette fiche avec un logiciel externe" pour que l'utilisateur puisse fignoler le document.
    Dans les parametre de mon appli, l'utilisateur choisi l'executable de l'appli externe et je cherche donc a ouvrir le fichier HTML avec cette executable. Le niveau de l'utilisateur pouvant aller de celui de ma belle tante a celui du directeur techinique de Goole, il est hors de question que je lui impose moi-meme Bloc-note ou MSWord.

    Citation Envoyé par Melem Voir le message
    Rien compris. Le 4ème paramètre c'est les arguments à passer au programme donc en principe (pour ouvrir un fichier) juste le chemin vers le fichier. Essaie d'être plus clair.
    Ben non. C'est "la plupart du temps" le chemin vers le fichier. Mais "en principe" ca peut etre tout et n'importe quoi. Et comme je ne peut pas deviner quel executable l'utilisateur va choisir, je ne peut pas deviner le format de la chaine a transmetre.
    ShellExecute execute un executable avec une chaine de caractere en parametre, moi je veut executer un executable avec un fichier en parametre. Ce n'est "en principe" pas la meme chose.

  4. #4
    Rédacteur
    Avatar de Neitsa
    Homme Profil pro
    Chercheur sécurité informatique
    Inscrit en
    Octobre 2003
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur sécurité informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 041
    Points : 1 956
    Points
    1 956
    Par défaut
    Bonjour,

    tu peux utiliser ShelleExecute sur un fichier sans spécifier d'exécutable, Windows ouvrira alors l'application en charge d'ouvrir / éditer normalement le document (si aucun programme n'est associé, Windows demandera à l'utilisateur quel programme il veut associer avec l'extension).

    Si tu veux que ton utilisateur édite le document, il faut utiliser le verbe 'edit' (parce qu'avec le verbe 'open' il y a toutes les chances que ce soit ton browser internet qui soit appelé pour un fichier HTML).

    Tu n'a pas besoin de spécifier un exécutable, Windows s'en charge.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ShellExecute(NULL, _T("edit"), "le chemin complet vers le document à éditer", NULL, NULL, SW_SHOWNORMAL);
    Ne pas oublier la MSDN : http://msdn2.microsoft.com/en-us/library/bb762153.aspx

  5. #5
    Expert éminent
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Points : 8 389
    Points
    8 389
    Par défaut
    Citation Envoyé par madlozoz
    Et comme je ne peut pas deviner quel executable l'utilisateur va choisir, je ne peut pas deviner le format de la chaine a transmetre.
    Mais comme je te l'ai dit cette chaîne à transmettre, pour ouvrir un fichier, c'est tout simplement le chemin vers le fichier.
    Citation Envoyé par madlozoz
    ShellExecute execute un executable avec une chaine de caractere en parametre, moi je veut executer un executable avec un fichier en parametre.
    Alors mets le nom du fichier en paramètre (3ème fois ! j'espère que t'as enfin compris).

Discussions similaires

  1. Ouvrir un fichier avec une autre application
    Par Sheik3594 dans le forum C#
    Réponses: 4
    Dernier message: 12/06/2012, 11h54
  2. [WD14] Ouvrir un fichier avec une application externe via LanceAppli()
    Par Fastolph dans le forum WinDev
    Réponses: 13
    Dernier message: 28/09/2011, 09h26
  3. Comment ouvrir un fichier avec une application java ?
    Par chihaoui_med dans le forum Général Java
    Réponses: 3
    Dernier message: 05/11/2009, 13h58
  4. ouvrir un fichier avec une application avec system() ?
    Par supergrey dans le forum Linux
    Réponses: 7
    Dernier message: 03/05/2008, 09h04
  5. Ouvrir un fichier avec une appli déjà lancée
    Par Cameleon45 dans le forum Langage
    Réponses: 5
    Dernier message: 04/01/2006, 17h42

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