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

VB.NET Discussion :

Ouverture d'un fichier avec son programme


Sujet :

VB.NET

  1. #1
    Membre régulier Avatar de Tornade8912
    Homme Profil pro
    Développeur
    Inscrit en
    Mars 2014
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

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

    Informations forums :
    Inscription : Mars 2014
    Messages : 83
    Points : 74
    Points
    74
    Par défaut Ouverture d'un fichier avec son programme
    Bonjour,
    J'ai crée un éditeur de texte et je voudrai que les fichiers .txt s'ouvrent avec mon éditeur. En gros quand on double clique sur le fichier, et bien je voudrai que le contenu du fichier apparaisse dans mon éditeur. Ça à pourtant l'air simple mais je sais pas comment m'y prendre donc si quelqu'un peut me dire comment procéder ça serait gentil.
    Cordialement

  2. #2
    Membre éprouvé

    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations forums :
    Inscription : Mars 2012
    Messages : 691
    Points : 929
    Points
    929
    Par défaut
    Bonjour
    en quoi consiste ton editeur ? un listbox ?

  3. #3
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Bonsoir,

    Déjà je reste persuadé que tu utilises un contrôle Richtextbox pour afficher le contenu de ton fichier texte donc ceci devrait t'aider :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      RichTextBox1.LoadFile("D:\Bureau\TEST.txt", RichTextBoxStreamType.PlainText)

  4. #4
    Membre éprouvé Avatar de worm83
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Février 2010
    Messages
    459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2010
    Messages : 459
    Points : 1 118
    Points
    1 118
    Par défaut
    Bonjour,

    Cela n'a rien à faire dans le forum .Net, c'est du systeme.
    Dans l'explorateur de fichier, sur un fichier texte :

    - Maintenir "Shift" (Maj)
    - Clic Droit -> Ouvrir avec -> choisir ton programe et cocher la case "Toujours ouvri avec".


    Cordialement.
    "Le train de tes injures roule sur le rail de mon indifférence."

    "Monde de merde !!"

    Georges Abitbol.

  5. #5
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    bien vu worm83.... je n'avais pas compris qu il s agissait d un problème lié à l association système de fichiers....

  6. #6
    Membre expérimenté

    Homme Profil pro
    Responsable des études
    Inscrit en
    Mars 2009
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2009
    Messages : 553
    Points : 1 672
    Points
    1 672
    Par défaut
    Voilà un petit bout de code que j'ai écrit pour réaliser l'association:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
            /// <summary>
            /// 
            /// </summary>
            /// <param name="fileExtension">file extension for which the association must be made. always starts with a "." (dot), as in ".html"</param>
            /// <param name="extensionClass">code name for the file extension. a registry key will be create with that name, so it must respect the conventions for registry keys. Ex: "FirefoxHTML"</param>
            /// <param name="extensionDescription">a human-readable short description of the file type. Ex: "Firefox HTML file"</param>
            /// <param name="command">full path the executable to start, folloed by "%1" for passing parameters. Ex: "C:\myDirectory\myProgram.exe" "%1"</param>
            /// <returns></returns>
            public static bool Associate(string fileExtension, string extensionClass, string extensionDescription, string command, string icon)
            {
                try
                {
                    using (RegistryKey HKCU_Soft_Classes = Registry.CurrentUser.OpenSubKey(@"Software\Classes", true))
                    {
                        using (RegistryKey fileExtensionKey = HKCU_Soft_Classes.CreateSubKey(fileExtension))
                        {
                            fileExtensionKey.SetValue(null, extensionClass, RegistryValueKind.String);
                        }
     
                        using (RegistryKey applicationKey = HKCU_Soft_Classes.CreateSubKey(extensionClass))
                        {
                            applicationKey.SetValue(null, extensionDescription, RegistryValueKind.String);
     
                            using (RegistryKey defaultIconKey = applicationKey.CreateSubKey("DefaultIcon"))
                            {
                                defaultIconKey.SetValue(null, icon, RegistryValueKind.String);
                            }
     
                            using (RegistryKey shellKey = applicationKey.CreateSubKey("shell"))
                            {
                                using (RegistryKey openKey = shellKey.CreateSubKey("open"))
                                {
                                    using (RegistryKey commandKey = openKey.CreateSubKey("command"))
                                    {
                                        commandKey.SetValue(null, command, RegistryValueKind.String);
                                    }
                                }
     
                                shellKey.SetValue(null, "open", RegistryValueKind.String);
                            }
                        }
                    }
     
                    return true;
                }
                catch
                {
                    return false;
                }
     
            }
    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Associate(".txt", "MyTextEditorDocument", "A document that can be opened by my text editor", "\"C:\\myApp.exe\" \"%1\"");

  7. #7
    Membre éprouvé Avatar de worm83
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Février 2010
    Messages
    459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2010
    Messages : 459
    Points : 1 118
    Points
    1 118
    Par défaut
    C'est pas mal, mais il est dommage de toujours réinventer la roue, surtout quand celle-ci tourne bien.

    il existe une commande batch :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ASSOC [.ext[=[Type du fichier]]]
    "Le train de tes injures roule sur le rail de mon indifférence."

    "Monde de merde !!"

    Georges Abitbol.

  8. #8
    Membre expérimenté

    Homme Profil pro
    Responsable des études
    Inscrit en
    Mars 2009
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2009
    Messages : 553
    Points : 1 672
    Points
    1 672
    Par défaut
    Citation Envoyé par worm83 Voir le message
    C'est pas mal, mais il est dommage de toujours réinventer la roue, surtout quand celle-ci tourne bien.

    il existe une commande batch :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ASSOC [.ext[=[Type du fichier]]]
    Je ne connaissais pas cette commande... Comment tu fais pour associer une extension à un exécutable ? Parce que là, dans le cadre de la question initiale, le "type de ficher" réclamé par la commande "assoc" n'existe pas.

  9. #9
    Membre éprouvé Avatar de worm83
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Février 2010
    Messages
    459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2010
    Messages : 459
    Points : 1 118
    Points
    1 118
    Par défaut
    Citation Envoyé par nnovic Voir le message
    Je ne connaissais pas cette commande... Comment tu fais pour associer une extension à un exécutable ? Parce que là, dans le cadre de la question initiale, le "type de ficher" réclamé par la commande "assoc" n'existe pas.

    Pardon il manque effectivement la fin . Assoc marche de paire avec ftype.

    Je donne un lien vers un tuto DVP :

    http://windows.developpez.com/cours/...e/?page=page_8

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    assoc .Monextension=txtfile
    ftype txtfile="monProgramme"
    "Le train de tes injures roule sur le rail de mon indifférence."

    "Monde de merde !!"

    Georges Abitbol.

  10. #10
    Membre expérimenté

    Homme Profil pro
    Responsable des études
    Inscrit en
    Mars 2009
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2009
    Messages : 553
    Points : 1 672
    Points
    1 672
    Par défaut
    Cool, merci!

  11. #11
    Membre éclairé Avatar de r.morel
    Homme Profil pro
    Dessinateur CAO
    Inscrit en
    Août 2014
    Messages
    336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Dessinateur CAO
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2014
    Messages : 336
    Points : 667
    Points
    667
    Par défaut
    Salut,
    Personnellement, j'ai utilisé la méthode de déploiement ClickOnce qui permet d'associer une extension à son application.
    Voir le tutoriel ici : https://msdn.microsoft.com/fr-fr/library/bb892924.aspx
    Ensuite dans l'application il faut utiliser cet exemple pour récupérer le chemin du fichier qui lance l'application :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        Private Sub Ouverture_fichier() Handles Me.Activated
            If AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData IsNot Nothing Then
                    Variable_de_mon_choix = AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData(0)
            End If
        End Sub
    Plus d'infos sur la classe utilisée ici : https://msdn.microsoft.com/fr-fr/lib...vs.110%29.aspx
    Elle peut contenir plusieurs chemin de fichiers.

    Cordialement.
    Merci de ainsi que d'utiliser les boutons et

  12. #12
    Membre régulier Avatar de Tornade8912
    Homme Profil pro
    Développeur
    Inscrit en
    Mars 2014
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

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

    Informations forums :
    Inscription : Mars 2014
    Messages : 83
    Points : 74
    Points
    74
    Par défaut
    Bonjour,
    J'ai essayé toutes les méthodes et aucune ne fonctionnent ! Pourtant ce que je trouve bizarre c'est que ça à l'air pourtant simple ... Et non ce que je veux faire ne se résume pas à un clique droit > Propriétés > Modifier sinon je serais pas là -_-

    Non il faut bien comprendre que mon logiciel doit fonctionner comme notepad. C'est à dire quand on double clique sur le txt mon éditeur s'affiche AVEC le contenu du fichier DANS la richtextbox. C'est pourtant clair à comprendre. Je sais que le registre est capable d'attribuer des extensions à des programmes particuliers mais peut-il faire ce que je veux ?
    Cordialement

  13. #13
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    C'est pourtant très clair il s'agit d'associer l'ouverture des fichiers portant l'extension .txt à ton programme et ce programmatiquement !!

    Donc ta solution est par ICI

    Tu devras également utiliser cette commande dans ton programe afin de pouvoir récupérer dans la variable %1 le chemin du fichier qui a été cliqué en vue de l'ouvrir dans ton programme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    My.Application.CommandLineArgs(0)
    Je te recommande de la lecture à l'aide de ces pistes, perso je viens de faire un projet test et ça fonctionne très bien, la balle est dans ton camps. (éventuellement revoir la méthode de chargement du fichier texte dans le RichtextBox mais ce n'est qu'un détail ...... )

    A+

  14. #14
    Membre expérimenté

    Homme Profil pro
    Responsable des études
    Inscrit en
    Mars 2009
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2009
    Messages : 553
    Points : 1 672
    Points
    1 672
    Par défaut
    Citation Envoyé par Tornade8912 Voir le message
    C'est pourtant clair à comprendre.
    On avait bien compris, merci, alors peut-être que le problème vient de toi... En tout cas je te conseille de te calmer, on n'est pas tes esclaves.

Discussions similaires

  1. Ouverture d'un fichier avec le programme par défaut
    Par blastafarie dans le forum C++Builder
    Réponses: 4
    Dernier message: 07/11/2007, 18h19
  2. ouverture d'un fichier avec son application associée
    Par gerard tarquin dans le forum Général Python
    Réponses: 3
    Dernier message: 28/07/2007, 16h08
  3. Réponses: 1
    Dernier message: 23/07/2007, 12h00
  4. Ouvrir un fichier avec son programme
    Par aliwassem dans le forum Delphi
    Réponses: 1
    Dernier message: 21/10/2006, 22h26
  5. Ouverture d'un fichier avec son nom
    Par bonjour69 dans le forum C
    Réponses: 23
    Dernier message: 15/10/2005, 20h36

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