Programmfad für Process.Start aus .ini auslesen

  • VB.NET

Es gibt 18 Antworten in diesem Thema. Der letzte Beitrag () ist von DaWeed032.

    Programmfad für Process.Start aus .ini auslesen

    Moin,
    ​ich stehe vor einem Problem. Ich nutze eine VB.NET Konsolenanwendung um folgendes zu machen.
    ​Ich habe in einer .ini Datei einen Programmfad gespeichert und möchte diesen auslesen.

    VB.NET-Quellcode

    1. ​Module Module1
    2. Sub Main()
    3. Dim fileReader As String
    4. fileReader = My.Computer.FileSystem.ReadAllText("C:\Users\DaWeed032\Desktop\P-Autostart\P-Autostart.ini")
    5. MsgBox(fileReader, MsgBoxStyle.Information, "Start instruction")
    6. Process.Start(fileReader)
    7. Console.WriteLine("P-Autostart is running." & vbNewLine & "To end the scan just close the console.")
    8. Console.ReadLine()
    9. End Sub
    10. End Module

    ​Nun in der MSGBOX wird mir der Fad auch ausgegeben. Also das Auslesen ansich funktioniert. Der Fehler kommt bei

    VB.NET-Quellcode

    1. ​Process.Start(fileReader)
    hier müsste er eigentlich den Fad starten.
    ​Leider tut er es nicht sondern gibt einen Fehler aus. Ich habe es schon versucht, den fad manuell einzugeben und es hat einwandfrei funktioniert.
    ​Komischer weise hat er Schwierigkeiten fileReader zu starten.

    ​Kann mir da jemand weiterhelfen ?

    MFG
    ​DaWeed032
    Vollzitat entfernt. ~Trade
    Ja da hast du recht, eigentlich steht da nichts als der Fad drin. Wo kann ich denn Strict anschalten ? ^^

    Und danke für das bessere Englisch :D

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

    Hm hat leider nichts gebracht, ich bekomme folgende Meldung

    Ein Ausnahmefehler des Typs "System.ComponentModel.Win32Exception" ist in System.dll aufgetreten.
    Zusätzliche Informationen: Das System kann die angegebene Datei nicht finden

    DaWeed032 schrieb:

    Ich habe in einer .ini Datei einen Programmfad gespeichert und möchte diesen auslesen.
    Wenn Du schon mit einer INI-Datei arbeitest, solltest Du diese auch wie eine INI-Datei behanden, sofern es sich tatsächlich um eine INI-Datei handelt.
    Gugst Du GetPrivateProfileString und WritePrivateProfileString und die dazugehörigen "Verwandten".
    ----------------------------

    DaWeed032 schrieb:

    Das System kann die angegebene Datei nicht finden
    Da würde ich wetten, dass die Datei nicht da ist.
    Wahrscheinlich hast Du den Pfad falsch geschrieben oder falsch zusammengesetzt.
    Gib den Pfad vorher in einer MessageBox aus.
    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!

    RodFromGermany schrieb:

    Gib den Pfad vorher in einer MessageBox aus.
    MsgBox(fileReader,

    hab ich hiermit getan...und der Pfad stimmt

    VB.NET-Quellcode

    1. ​MsgBox(fileReader, MsgBoxStyle.Information, "Start instruction")
    2. Process.Start(fileReader)


    Zudem
    ​Ich habe es schon versucht, den fad manuell einzugeben und es hat einwandfrei funktioniert.

    DaWeed032 schrieb:

    und der Pfad stimmt
    Und die Exception kommt trotzdem?
    Ich glaube schon, dass Du da einen Zeichendreher oder so was drinne hast.
    Kopier den Pfad in die Zwischenablage:

    VB.NET-Quellcode

    1. Clipboard.SetText(DEIN_PFAD)
    und danach in eine Batchdatei und mach das von dort aus.
    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!
    Ich verstehe es nicht....wenn ich in cmd start+den fad eingebe dann gibt's nen fehler....dann hab ich eine bat erstellt und den fad in "" gesetzt. Daraufhin öffnet sich nur ein cmd fenster mit dem fad als title.
    ​Wenn ich den fad in den Explorer eingebe, dann wird das Programm normal gestartet.
    ​Wenn ich process.start(denprogrammfad) starte dann funktioniert es auch.
    ​Sobald ich process.start(fileReader) eingebe kommt der Fehler
    Vollzitat entfernt. ~Trade

    C:\Users\DaWeed032\Documents\Visual Studio 2013\Projects\Login-Gui\Login-Gui\bin\Debug\Login-Gui.exe

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

    @DaWeed032 Umschließe den Pfad mit doppelten Gänsefüßchen:

    VB.NET-Quellcode

    1. MessageBox.Show("""C:\Users\DaWeed032\Documents\Visual Studio 2013\Projects\Login-Gui\Login-Gui\bin\Debug\Login-Gui.exe""")

    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!
    Vollzitat entfernt. ~Trade
    Hab ich gemacht. Der Unterschied: "C:\Users\DaWeed032\Documents\Visual Studio 2013\Projects\Login-Gui\Login-Gui\bin\Debug\Login-Gui.exe" vorher war es C:\Users\DaWeed032\Documents\Visual Studio 2013\Projects\Login-Gui\Login-Gui\bin\Debug\Login-Gui.exe

    vorher war es ohne gänsefüßchen

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

    Vollzitat entfernt. ~Trade

    Mokki, du bist der BESTE !
    endlich funktioniert es....da war ein ENTER in der .ini

    vielen Dank an alle die geholfen haben!

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