Ordner im Programm Pfad öffnen

  • VB.NET

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Ordner im Programm Pfad öffnen

    Ordner im Programm-Ordner öffnen
    Hallo!

    Ich würde gerne wissen, wie ich einen Ordner (mit einem Button) öffnen
    kann, der sich in dem selben Ordner befindet, wie die .exe selbst. Ich finde immer nur was zu anderen Dateien / .exe, das klappt bei mir nicht.


    Wichtig: Der komplette Ordner mit Programm(.exe) und Unterordner(der
    geöffnet werden soll) soll später auf Desktop, eigene dokumente etc
    hingeschoben werden können.

    Danke!
    Erstmal willkommen im Forum :thumbsup:
    Du kannst den Pfad des Ordners deiner Anwendung (oder eines beliebigen Ordners darin) als Parameter an den Prozess explorer.exe übergeben.
    Für den Startpfad kannst du hier oder im Forum passende Lösungen finden.
    Prozesse startest du über die Process-Klasse (Process.Start(), Process.StartInfo für den Parameter).
    Die Anwendung explorer.exe hat den Pfad %WINDIR%\explorer.exe. %WINDIR% ermittelst du zB. über

    VB.NET-Quellcode

    1. Environment.GetFolderPath(Environment.SpecialFolder.System)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Kai Weigelt“ ()

    Das mit dem Verschieben machst du so:
    Zuerst schreibst du ganz oben Imports System.IO hin

    VB.NET-Quellcode

    1. Directory.Move("Pfad zum Ordner der verschoben wird" , "Pfad, wo der Ordner hinsoll" ' + der "Restpfad" wie der Ordner heißen soll, z.B. "C:/Lol/Rofl" (Rofl heißt der verschobene Ordner)
    Danke! Endlich mal ein Forum mit ein bisschen Aktivität, wenn es um VB geht ;)

    Das mit dem verschieben ist gar keine so schlechte Idee...

    Vielleicht mal ein paar genauere Infos:
    Das "Programm" soll später in einem Order liegen und in den "unterordnern" Textdateien mit einem Button öffnen.

    So sollte das dann aussehen:

    Programmordner\Games\Infos
    (hier liegt die .exe) --------\Trailer
    -------------------(die Order, die ich dann gerne öffnen möchte)

    Das Programm bzw. Den "Programmordner" kann man sich downloaden, da manche aber verschiedene Dateipfade haben, wo die heruntergeladene Datei gespeichert wird,
    muss vorher der Dateipfad "ausgelesen" werden.
    Dazu habe ich gestern/heute um 03 Uhr bereits was gefunden:

    Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. Dim path As String
    3. path = System.IO.Path.GetDirectoryName( _
    4. System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)
    5. MessageBox.Show(path)
    6. End Sub


    Ich möchte aber nicht, dass eine msgbox mit dem Dateipfad sich öffnet, sondern an den Dateipfad noch \Games\Infos dran gehangen wird und sich dann dieser Ordner "Infos" öffnet.

    Ich bin (wieder) ein totaler newbie in Sachen VB, sorry.
    Oder einfach:

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    3. Dim path As String = IO.Path.Combine(Application.StartupPath, "Games", "Infos")
    4. End Sub
    5. End Class


    Path.Combine soll dazu da sein, damit man sich das Rumhantieren mit "\" spart. Mit Application.StartUpPath bekommst das Verzeichnis der .exe.
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o
    ICH HABS!!
    DANKE JUNGS!

    Habe es jetzt so gelöst:

    Quellcode

    1. Private Sub Games_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Games.Click
    2. Dim path As String = IO.Path.Combine(Application.StartupPath, "Games")
    3. Process.Start("explorer.exe", path)
    4. End Sub


    VIELEN, VIELEN DANK AN ALLE!


    jetzt im Nachhinein lach ich mich selbst schon aus, weil ich an nem 2 Zeilen Code gescheitert bin... ^^

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „JohnKrazi“ ()

    JohnKrazi schrieb:

    Ich bin (wieder) ein totaler newbie in Sachen VB, sorry.
    Vielleicht versuchst Du mal, Dein Problem so zu beschreiben, dass wir noch ein wenig Umfeld abbekommen, da lässt es sich leichter antworten.
    Also etwa: Was soll Dein Programm eigentlich tun?
    -----
    Wenn Deine Fragen beantwortet sind, drückst Du den Erledigt-Button unten rechts und feddich.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!