Ho usato questo metodo per recuperare il percorso del file, ho creato un modulo che imposto come oggetto di avvio(ho usato questo metodo perché mi è servito anche per risolvere un altro problema di cui ho parlato in un'altro mio recente thread):
codice:
Module StartupModule
    Dim applicazione As New FrmMain

    Sub Main(ByVal args() As String)
        Try
            Dim s As String
            Dim percorso As String
            For Each s In args
                  percorso &= s
            Next

            StringaConnessione = percorso

            Application.EnableVisualStyles()
            AddHandler Application.ThreadException, AddressOf GestoreEccezioni
            Application.Run(applicazione)
        Catch
            MessageBox.Show(Err.Description)
        End Try
    End Sub
End Module
Solo che, quando apro il programma con il doppio click sul file con estensione associata, l'array args() mi divide in automatico il percorso del file in base agli spazi, perciò ho dovuto mettere il For Each...nonostante ciò la variabile percorso così generata non avrà gli spazi, ottenendo un percorso inesistente. Es. se gli passo "C.\documents and settings\user\prova.txt" il percorso che ottengo è "C.\documentsandsettings\user\prova.txt"
Qualche consiglio?