Prozesse mit jeweilige Icons in Listview anzeigen?

  • VB.NET

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

    Prozesse mit jeweilige Icons in Listview anzeigen?

    Hallo,
    ich bastel wieder ein neues Tool, ich hänge bei einer Funktion wo ich die "Icons von den jeweiligen Prozesse" anzeigen kann in der z.B. ersten Spalte einer Listview namens "Icon".

    Beispiel(Das zeigt mir den icon von "Notepad" in einer picturebox an):

    Quellcode

    1. Dim ico As Icon = Icon.ExtractAssociatedIcon("C:\WINDOWS\system32\notepad.exe")
    2. Me.Icon = ico
    3. PictureBox1.Image = ico.ToBitmap

    ..........
    ich brauche es in der Listview und anhand der z.B. " jeweiligen Prozesspfade" der spalte3 von Listview1
    so in etwa|Icon|Name|Prozesspfad|:
    notepad.ICON | Notepad|C:\WINDOWS\system32\notepad.exe
    firefox.ICON | Firefox|C:\Program Files (x86)\Mozilla Firefox\firefox.exe
    ...
    in der:
    ListView1.SelectedItems(0).SubItems(1)

    Das Icon soll in die erste spalte "Icon", Name, Prozesspfad etc wird schon ausgegeben, ich brauche nur die "Prozess Icons" und am besten in "Details" mod, wenn es in "smallicon" mod geht wo die Details mit angezeigt werden..dann gerne auch in "smallicon" mod.

    ps: Iconexracor.dll habe ich schon versucht, doch leider hat es nicht ganz hingehauen.

    Dieser Beitrag wurde bereits 8 mal editiert, zuletzt von „downmaker“ ()

    Normalerweise verknüpft man Icons über eine ImageList mit einer Listview.

    1. ImageList erstellen
    2. ImageList in den Einstellungen der Listview unter SmallImageList verknüpfen (oder im Code)
    3. Icons hinzufügen (ImageList1.Images.Add(ico))
    4. Item in Listview erstellen und Image aus der ImageList zuweisen (ListView1.Items.Add("", 0))
    Die Null gibt den Index des Icons in der ImageList an.

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

    Danke das hat mir geholfen, ich habe das jezt so gemacht fall es noch jemand brauchen sollte:
    WICHTIG: "ImageList1" unbennen zu "ImgList" + "ListView1 (Ansicht: SmallIcon) + "ListView1 KleineImageList: ImgList"
    ohne ""ListView1 (Ansicht: SmallIcon) + "ListView1 KleineImageList: ImgList" werden keine icons angezeigt, have fun.


    Beispiel Code mit Button1:

    Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. For Each proc As Process In Process.GetProcesses
    3. Try
    4. ImgList.Images.Add(Icon.ExtractAssociatedIcon(proc.MainModule.FileName))
    5. Dim lvi As New ListViewItem(proc.ProcessName, ImgList.Images.Count - 1)
    6. lvi.SubItems.Add(proc.MainModule.FileName)
    7. ListView1.Items.Add(lvi)
    8. Catch ex As Exception
    9. End Try
    10. Next
    11. End Sub

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

    @downmaker
    Nimm ein DataGridView und gib dem eine separate Image-Spalte.
    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!