none
Datei per Doppelklick in Programm öffnen? RRS feed

  • Frage

  • Kann man eine Datei (z.B. eine *.tba Datei) per Doppelklick (bzw. durch Rechtsklick ausführen mit...) in mein Programm laden, bzw. mein Programm starten und der Pfad wird z.B. in eine Variable geschieben, sodass ich mit dieser Datei arbeiten kann.

    Bis jetzt habe ich es durch ein OpenFileDialog gelöst, aber dafür muss man das Programm erst starten und dann muss man die Datei suchen.

    Danke im voraus.

    Dienstag, 5. Oktober 2010 15:13

Antworten

  • Hallo,

    Kann man eine Datei (z.B. eine *.tba Datei) per Doppelklick (bzw. durch Rechtsklick ausführen mit...) in mein Programm laden, bzw. mein Programm starten und der Pfad wird z.B. in eine Variable geschieben, sodass ich mit dieser Datei arbeiten kann.

    wenn Du Deine Anwendung via "Öffnen mit..." auswählst, wird der Dateiname der zu öffnenden Datei via Kommandozeile übergeben. Diesen kannst Du dann über Environment.GetCommandLineArgs(1) auslesen.

    Wenn Du eine bestimmte Dateierweiterung dauerhaft mit Deiner Anwendung verknüpfen möchtest, kannst Du das entweder über den Explorer machen oder Deine Anwendung macht dies gleich selber:

    File Association in VB.NET
    http://www.codeproject.com/KB/vb/VBFileAssociation.aspx


    Thorsten Dörfler
    Microsoft MVP Visual Basic
    vb-faq.de
    Dienstag, 5. Oktober 2010 15:33
    Moderator

Alle Antworten

  • Hallo,

    Kann man eine Datei (z.B. eine *.tba Datei) per Doppelklick (bzw. durch Rechtsklick ausführen mit...) in mein Programm laden, bzw. mein Programm starten und der Pfad wird z.B. in eine Variable geschieben, sodass ich mit dieser Datei arbeiten kann.

    wenn Du Deine Anwendung via "Öffnen mit..." auswählst, wird der Dateiname der zu öffnenden Datei via Kommandozeile übergeben. Diesen kannst Du dann über Environment.GetCommandLineArgs(1) auslesen.

    Wenn Du eine bestimmte Dateierweiterung dauerhaft mit Deiner Anwendung verknüpfen möchtest, kannst Du das entweder über den Explorer machen oder Deine Anwendung macht dies gleich selber:

    File Association in VB.NET
    http://www.codeproject.com/KB/vb/VBFileAssociation.aspx


    Thorsten Dörfler
    Microsoft MVP Visual Basic
    vb-faq.de
    Dienstag, 5. Oktober 2010 15:33
    Moderator
  • Hallo MaSch0212,

     

    meinst du das?

    Du übergibst in einer Variablen (hier C:\test.doc“) den Pfad.

    Die Methode Process.Start (Deine Variable) started dann das Programm und öffnet die Datei (hier eben Word mit “test.doc).

    Die Methoden ob Click, Doppelklick oder rechter Mausbutton betsimmst du durch deinen Code. Hier  drei Beispiele bei denen auch der rechte Mausklick dabei ist.

     

    Public Class Form1

        Public LadeDatei As String = "C:\test.doc"

        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

     

            Process.Start(LadeDatei)

        End Sub

     

        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

            Me.ComboBox1.Items.Add(LadeDatei)

        End Sub

     

        Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged

            LadeDatei = Me.ComboBox1.SelectedItem.ToString()

            Process.Start(LadeDatei)

        End Sub

     

        Private Sub Button1_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseDown

            If e.Button = Windows.Forms.MouseButtons.Right Then

                Process.Start(LadeDatei)

            End If

        End Sub

    End Class

     

    Viel Erfolg.


    Liebe Grüße Stefan Cheers Stefan ------------------------------------------------ Ich verwende Visual Basic 2008 Express I'm using Visual Basic 2008 Express
    Mittwoch, 6. Oktober 2010 11:37