Ouverture de fichier depuis l'explorateur Windows en VB.NET [Résolu]

Signaler
-
 logiworld -
Bonjour,
je cherche un moyen de pouvoir ouvrir un fichier texte depuis l'explorateur Windows avec mon logiciel. Grâce aux propriétés de fichier, je peux faire cela, mais seul mon logiciel apparaît, sans le texte ouvert.
Quelqu'un aurait-il la solution ?
Merci d'avance.

8 réponses


Voici un exemple d'une application complète qui affiche un fichier texte dans un RichTextBox lorsqu'on l'ouvre depuis l'explorateur.

Pour tester cet exemple :
1/ place un composant RichTextBox sur un formulaire (Form1) dans un projet vierge.
2/ colle le code ci-dessous dans le projet (Form1).
3/ exécute le projet.
4/ associe tes fichiers avec l'exécutable créé à l'instant dans le dossier 'debug'.
5/ ouvre ton fichier depuis l'explorateur.
Le fichier texte devrais s'afficher maintenant dans ton RichTextBox.

Option Strict On
Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        If My.Application.CommandLineArgs.Count > 0 Then
            'ici on lit l'argument de ligne de commande (chemin et nom de fichier)
            RichTextBox1.Text = IO.File.ReadAllText(My.Application.CommandLineArgs(0))
        End If
    End Sub
End Class

Bonjour,

Sers toi de des paramètres de ligne de commande que l'on récupère avec la collection My.Application.CommandLineArgs
D'accord, mais, comment récupérer ces paramètres, en faisant un code ?
si oui, le connaîtrais-tu en entier ? Où faut-il le mettre ? Dans Form1.Load ?

Il y a un exemple sur msdn et oui, on met cela dans l'événement Load.
J'ai fait comme ils disent sur MSDN, mais ça ne fait strictement rien dans mon programme.

Après s'être assuré que ces fameux fichiers soient associés à ton exécutable, il faut faire quelque chose comme ça :
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    For Each element As String In My.Application.CommandLineArgs
       'traiter les arguments de la ligne de commande ici
       'ensuite, il faudra ouvrir le fichier, le lire, et l'afficher dans 
       'un contrôle textbox par exemple
       MessageBox.Show(element)
    Next
End Sub
L'embêtant, c'est que microsoft visual basic me dit que ParseCommandLineArgs veut dire plusieurs choses et que je ne peux pas l'utiliser pour mon application VB.Net
Merci beaucoup banana32, ca marche, je vais pouvoir continuer mes logiciels.
merci beaucoup.