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 Forms Discussion :

Exécuter le programme en passant par le double-click sur un fichier du programme


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de wil4linux
    Inscrit en
    Février 2005
    Messages
    205
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Février 2005
    Messages : 205
    Par défaut Exécuter le programme en passant par le double-click sur un fichier du programme
    Bonjour,
    j'ai développé un outil en winform C#, qui enregistre des fichiers de configuration.
    J'aimerai savoir comment en double cliquant sur ce fichier (lorsque le programme n'est pas lancé) que le programme s'ouvre avec le fichier chargé.

    Comment faire svp ?

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2006
    Messages : 124
    Par défaut
    je ne sais pas trop comment tu as fait ton programme

    mais peut etre en définissant ton programme comme programme par défaut par défaut

    -> clique droit -> propriété
    onglet général -> s'ouvrir avec ---> modifier

  3. #3
    Membre confirmé Avatar de wil4linux
    Inscrit en
    Février 2005
    Messages
    205
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Février 2005
    Messages : 205
    Par défaut
    oui ca je suis d'accord.
    Ca marche comme cela, mais le fichier sur lequel on a cliqué en amont n'est pas chargé.

    Par exemple, dans VS, quand tu double clik sur ton .sln, VS s'ouvre avec ton projet.

    Ben là j'aimerai faire pareil

  4. #4
    Membre Expert Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Par défaut
    Tu peux créer dans ta solution un projet de type "Setup", et en fouillant dans les propriétés de ce projet tu dois pouvoir définir une extension de fichier à associer à ton exécutable.

  5. #5
    Membre confirmé Avatar de wil4linux
    Inscrit en
    Février 2005
    Messages
    205
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Février 2005
    Messages : 205
    Par défaut
    non, en fait c'est pas le fait d'associer un fichier au programme.

    En fait c'est pour donner la possiblité d'ouvrir un fichier de 2 facons différentes.

    1-> lancer le programme, puis "ouvrir un fichier" et aller chercher le fichier.

    2-double-cliquer sur le fichier, qui va déclencher l'ouverture du programme en chargeant ce fichier à l'ouverture.

  6. #6
    Membre éprouvé Avatar de Nikoui
    Inscrit en
    Décembre 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Décembre 2007
    Messages : 119
    Par défaut
    Citation Envoyé par wil4linux Voir le message
    2-double-cliquer sur le fichier, qui va déclencher l'ouverture du programme en chargeant ce fichier à l'ouverture.
    Pour arriver a faire cela, il te faut donc faire 2 choses :
    - Associer ton programme au type d'extension que tu veux ouvrir (pour qu'il lance automatiquement ton programme lorsque tu vas double cliquer sur ce type de fichier) : voir les commentaires plus haut
    - Modifier le code de ton programme pour charger toi même le fichier si tu récupère un nom de fichier au démarrage de l'application (voir mon post ci dessus)

  7. #7
    Membre éprouvé Avatar de Nikoui
    Inscrit en
    Décembre 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Décembre 2007
    Messages : 119
    Par défaut
    Avec cette manipulation, ton programme est démarré et le nom du fichier est passé en paramètre de ton programme (c'est en tout cas le comportement par défaut).

    Ensuite, c'est a toi de modifier ton programme pour vérifier quels paramètres il a reçu au démarrage, pour charger toi même le fichier si nécessaire.

    Pour récupérer les arguments passé au démarrage de ton programme (dans ton cas, le nom du fichier "double cliqué") regarde dans les paramètres de la fonction Main (le point d'entrée de ton application).

  8. #8
    Membre éprouvé Avatar de Nikoui
    Inscrit en
    Décembre 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Décembre 2007
    Messages : 119
    Par défaut
    Ou bien une autre façon de faire (je m'auto cite ) :

    Citation Envoyé par Nikoui Voir le message
    Pour récupérer les arguments passé au démarrage de ton programme (dans ton cas, le nom du fichier "double cliqué") regarde dans les paramètres de la fonction Main (le point d'entrée de ton application).

  9. #9
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Par défaut
    Citation Envoyé par Nikoui Voir le message
    Ou bien une autre façon de faire (je m'auto cite ) :
    sauf que la solution de clochettes est plus propre (et pourtant j'ai tjs fait comme toi nikoui).

    en fait, récupérer les paramètres dans la main, les oblige à les passer dans le constructeur de ta From1 alors qu'on peut les récupérer grace à Environnement.GetCommandLineArgs().

    merci clochettes, j'ai appris un truc utile aujourd'hui

  10. #10
    Membre éprouvé
    Inscrit en
    Avril 2007
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 77
    Par défaut
    Juste pour compléter ce qui a été dit :
    pour
    modifier ton programme pourqu'il puisse prendre le paramètre 1 en tant que fichier
    il faut que tu modifie la fonction load de ton formulaire principal :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
            void Form1_Load(object sender, EventArgs e)
            {
     
                    //si le chemin du fichier est passé en argument
                    if (Environment.GetCommandLineArgs().Length >= 2)
                    {
                        //demande quel modèle ouvrir
                        _cheminModele = Environment.GetCommandLineArgs()[1];
    Pour que ton programme se lance lors d'un double-clic sur un fichier ayant une extension particulière, tu peux indiquer cette extension dans "Type de fichier" du projet de déploiement de ton application.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 12/07/2012, 11h40
  2. Réponses: 16
    Dernier message: 02/09/2011, 20h22
  3. [AC-2003] Trier un sous formulaire par bouton / double clique sur entête
    Par thefutureisnow dans le forum IHM
    Réponses: 3
    Dernier message: 22/03/2011, 15h52
  4. Réponses: 2
    Dernier message: 21/08/2008, 18h34
  5. ouverture d'un programme par double clic sur un fichier
    Par zieg18 dans le forum Visual C++
    Réponses: 6
    Dernier message: 12/07/2006, 11h02

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