vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Links in ListView ziehen + Icon und Linknamen auslesen 
Autor: A2009W
Datum: 30.06.09 17:05

Hallo zusammmen,

da mein Hirn heute bei so hohen Temerparaturen offenbar eine Auszeit nimmt, möchte ich mal hier fragen, ob ihr mir zu folgendem Code einen Tipp geben könnt, wie man wenn man über das ListView eine Verknüpfung vom Desktop per Drag&Drop zieht auch das Icon und den vergebenen Namen der Verknüfpung ermitteln kann ?

Ziel ist es hier, eine Art Linkliste der vielen Desktoplinks in ein ListView zu packen und dem Anwender so eine Verknüpfungsliste an die Hand zu geben die unabhängig von seinem Profil ist, damit diese von verschiedenen PCs genutzt werden kann...

Das Drag&Drop klappt in soweit schon, dass der Linkinhalt, also der Pfad zur Datei übernommen wird, welcher dann bei einem Klickereignis dazu führen soll, diesen Link aufzurufen...

Später möchte ich das Formular auf des Desktop kleben/einbetten und so die Liste, wie die normalen Desktopicons verfügbar zu haben, aber halt unabhängig vom Userprofil

Aussehen sollte das später dann so und der User kann die Links dann simple über Drag&Drop hinzufügen:




Hier der Code, der bisher die Dateipfade in das Listview übernimmt:

    Private Function ResolveShellLink(ByVal name As String) As String
        '--- Find the target for a short-cut
        If String.Compare(Path.GetExtension(name), ".lnk", True) <> 0 Then _
          Return name
        Dim shl As New Shell32.Shell
        Dim dir As Shell32.Folder = shl.NameSpace(Path.GetDirectoryName(name))
        Dim itm As Shell32.FolderItem = dir.Items().Item(Path.GetFileName(name))
        Dim lnk As Shell32.ShellLinkObject = CType(itm.GetLink, _
          Shell32.ShellLinkObject)
        Return lnk.Path
    End Function
 
    Private Sub ListView1_DragDrop(ByVal sender As System.Object, ByVal e As _
      System.Windows.Forms.DragEventArgs) Handles ListView1.DragDrop
        If e.Data.GetDataPresent("FileNameW", False) Then
            Dim names As System.Array = CType(e.Data.GetData("FileNameW", _
              False), System.Array)
            ListView1.Items.Add(ResolveShellLink(CStr(names.GetValue(0))))
        End If
    End Sub
 
    Private Sub ListView1_DragOver(ByVal sender As System.Object, ByVal e As _
      System.Windows.Forms.DragEventArgs) Handles ListView1.DragOver
        If e.Data.GetDataPresent("FileNameW", False) Then
            e.Effect = DragDropEffects.Copy
        Else
            e.Effect = DragDropEffects.None
        End If
    End Sub
Vielen Dank im Voraus, ob und wie man das am geschicktesten umsetzen könnte

Gruß A2009W
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Links in ListView ziehen + Icon und Linknamen auslesen1.302A2009W30.06.09 17:05

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel