Verknüpfung, Ziel (Targetpath) bearbeiten

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von M4x.

    Verknüpfung, Ziel (Targetpath) bearbeiten

    Hallo, ich habe ein Problem mit der Zielsetzung einer Verknüpfung:

    Die Verknüpfung wird folgend erstellt:

    VB.NET-Quellcode

    1. Create_ShortCut(Form1.TextBox2.Text + "\iw4m.exe", Environment.GetFolderPath(Environment.SpecialFolder.Desktop), " -dedicated +set party_maxplayers 18 +set net_port 28961 +exec server.cfg +map_rotate", "Start MW2 Server.lnk", Form1.TextBox2.Text)


    Die Funktion:

    VB.NET-Quellcode

    1. Sub Create_ShortCut(ByVal TargetPath As String, ByVal ShortCutPath As String, ByVal Arguments As String, ByVal ShortCutname As String, ByVal WorkPath As String)
    2. Dim VbsObj As Object
    3. VbsObj = CreateObject("WScript.Shell")
    4. Dim MyShortcut As Object
    5. ShortCutPath = VbsObj.SpecialFolders(ShortCutPath)
    6. MyShortcut = VbsObj.CreateShortcut(ShortCutPath & "\" & ShortCutname & ".lnk")
    7. MyShortcut.TargetPath = TargetPath
    8. MyShortcut.WorkingDirectory = WorkPath
    9. MyShortcut.Save()
    10. End Sub




    Hilfe ;(

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „M4x“ ()

    M4x schrieb:

    Hilfe
    So was:

    VB.NET-Quellcode

    1. MessageBox.Show("""")
    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!
    Hab meinen Beitrag nochmal überarbeitet, jedoch stehen in der Verknüpfung keine Argumente (" -dedicated +set party_maxplayers 18 +set net_port 28961 +exec server.cfg +map_rotate").
    Im Ziel steht nur: C:\ordner\iw4m.exe

    VB.NET-Quellcode

    1. -dedicated +set party_maxplayers 18 +set net_port 28961 +exec server.cfg +map_rotate
    | fehlt

    Sind das überhaupt Argumente?
    Doch da oder?

    VB.NET-Quellcode

    1. ​Create_ShortCut(Form1.TextBox2.Text + "\iw4m.exe", Environment.GetFolderPath(Environment.SpecialFolder.Desktop), " -dedicated +set party_maxplayers 18 +set net_port 28961 +exec server.cfg +map_rotate", "Start MW2 Server.lnk", Form1.TextBox2.Text)

    M4x schrieb:

    Sind das überhaupt Argumente?
    Diese Frage musst Du beantworten.
    Setz zunächst einen Haltepunkt rein und verfolge Schritt für Schritt, was da passiert.
    -----

    M4x schrieb:

    VB.NET-Quellcode

    1. Form1.TextBox2.Text
    Was ganz genau ist Form1?


    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!

    VB.NET-Quellcode

    1. Create_ShortCut(Form1.TextBox2.Text + "\iw4m.exe"""" -dedicated +set party_maxplayers 18 +set net_port 28961 +exec server.cfg +map_rotate", Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "Parameter", "Start MW2 Server.lnk", Form1.TextBox2.Text)

    Wenn ich es so versuche kommt ein Fehler von TargetPath...

    Form1.TextBox2.Text ist der Dateipfad einer anderen Form("C:\ordner\...)


    Mit Argument möchte ich eigentlich nur den Parameter hinzufügen. Jedoch wie heißt der richtig?

    VB.NET-Quellcode

    1. ( Sub Create_ShortCut(ByVal TargetPath As String, ByVal ShortCutPath As String, ByVal Arguments As String, ByVal ShortCutname As String, ByVal WorkPath As String)


    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „M4x“ ()

    M4x schrieb:

    Jedoch wie heißt der richtig?

    VB.NET-Quellcode

    1. Arguments = "--incognito"
    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!

    Nongs schrieb:

    Okay,

    mal auf die Schnelle:

    im Menu -> Projekt -> "Projektname"-Eigenschaften
    Verweise -> Button "Hinzufügen..."
    Reiter "COM" auswählen und auf "Microsoft Shell Controls And Automation" doppelklicken
    STRG + S und Reiter schließen

    Füge deinem Projekt ein Modul hinzu und kopier den Code von der Page (vbarchiv.net/tipps/details.php?id=1601) rein...

    Die Methode rufst du z.B. so auf:

    VB.NET-Quellcode

    1. CreateShortcut Environment.GetFolderPath(Environment.SpecialFolder.Desktop) & _
    2. "\CSS mit Console.lnk", "C:\Programme\Valve\Steam\steam.exe", "-applaunch 240 -console"


    So sollte/müsste es funktionieren....

    Gruß



    Vielen Dank! Funktioniert jetzt.