Desktoppfad ermitteln

  • VB.NET

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

    Desktoppfad ermitteln

    Hallo,
    ich habe folgendes Problem:
    Ich möchte eine Verknüpfung auf dem Desktop erstellen und benötige dafür den Desktoppfad. Ich habe auf meinem Rechner allerdings den Desktopordner auf meine Externe Festplatte verschoben, wenn ich nun eine Verknüpfung via

    VB.NET-Quellcode

    1. Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)


    erstelle, wird ein Ordner in meinem Benutzernamen mit den Verknüpfungen erstellt, und nicht auf meinem Desktop.
    Viele Grüße
    Sebastian
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.
    Sorry, dass ich das nochmal rauskrame, aber:

    Wenn ich das ganze per MsgBox ausgeben lasse, kommt der richtige Pfad. Die Verknüpfung wird trotzdem IMMER in einem neu angelegten Ordner erstellt, nicht im richtigen Desktop...

    Beispiel: Verschobener Desktop: E:\Desktop
    Verknüpfungen werden aber in C:\Users\Name\Desktop erstellt...
    Viele Grüße
    Sebastian
    Lass dir die Pfade mal alle ausgeben.
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.
    Habe ich. Wenn ich den Pfad ausgeben lasse, sagt er mir E:\Desktop, aber die Verknüpfungen werden trotzdem auf dem Benutzerdesktop erstellt...

    Edit: Hiermit erstelle ich die Verknüpfung:

    VB.NET-Quellcode

    1. Private Function MakeShortcut(ByVal File As String, ByVal ShortcutFolder As String, ByVal Name As String, ByVal WorkDirectory As String)
    2. Dim WshShell As Object = CreateObject("WScript.Shell")
    3. Dim NewShortcut As Object = WshShell.CreateShortcut(ShortcutFolder & "\" & Name & ".lnk")
    4. NewShortcut.TargetPath = File
    5. NewShortcut.WindowStyle = 1
    6. NewShortcut.IconLocation = File & ",0"
    7. NewShortcut.WorkingDirectory = WorkDirectory
    8. NewShortcut.Save()
    9. Return True
    10. End Function


    Und hiermit rufe ich das ganze auf:

    VB.NET-Quellcode

    1. MakeShortcut(installdir, My.Computer.FileSystem.SpecialDirectories.Desktop, "Titel", "")


    Edit: Auch wenn ich das ganze direkt auf den Pfad laufen lasse, landet es im User-Ordner... Anscheinend liegt es an meinem Rechner, nicht am Programm...
    Viele Grüße
    Sebastian

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Sebastian.Trzynka“ ()

    Habe es jetzt mal bei mir getestet...und es landet auf dem Desktop.

    VB.NET-Quellcode

    1. MakeShortcut("irgendwas.exe", Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), "Test", "shit")
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.
    Hast du den Desktop am Standardordner (in Users/Deinname) oder verschoben? Das scheint mein Problem zu sein...

    Edit: Wenn ich das Programm jetzt so teste (Nicht aus der Entwicklungsumgebung heraus), dann erstellt er die Verknüpfungen auf dem Desktop unter E:\Desktop... Allerdings werden sie nicht mehr gelöscht beim Deinstallieren (via kill)... Aber das sehe ich mir gleich mal an :)
    Viele Grüße
    Sebastian