Per WMI Prozesse mit Fenstertitel auslesen....

  • VB.NET
  • .NET (FX) 3.0–3.5

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Cheffboss.

    Per WMI Prozesse mit Fenstertitel auslesen....

    Moin!
    Ein gutes und gesundes Jahr für euch.
    Ich möchte gerne per WMI alle Prozesse und Fenster diese in der Taskleiste angezeigt sind, in eine Listbox eintragen.
    Per .NET Code habe ich es hinbekommen.
    Cool, wäre es wenn dies auch per WMI möglich ist.
    BIG THX

    Hier mal mein Versuch: :thumbup:

    VB.NET-Quellcode

    1. Option Strict On
    2. Imports System.Management
    3. Public Class Form1
    4. Private Sub ListBoxFüllenMitInhalt_NETCODE()
    5. Me.lvAnwendungenListe.Items.Clear()
    6. ' Fenster auslesen...
    7. For Each AppTitle As Process In Process.GetProcesses
    8. ' Hinfügen...
    9. If Not AppTitle.MainWindowTitle = "" Then
    10. Me.lvAnwendungenListe.Items.Add(AppTitle.MainWindowTitle).SubItems.Add(AppTitle.ProcessName.ToLower)
    11. End If
    12. Next
    13. End Sub
    14. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    15. ListBoxFüllenMitInhalt_NETCODE()
    16. End Sub
    17. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    18. ListboxFüllenMitInhalt_WMICODE()
    19. End Sub
    20. Sub ListboxFüllenMitInhalt_WMICODE()
    21. 'Get the namespace management scope
    22. Dim Scope As New ManagementScope("\\.\ROOT\cimv2")
    23. 'Get a result of WML query
    24. Dim Query As New ObjectQuery("SELECT * FROM Win32_Process")
    25. 'Create object searcher
    26. Dim Searcher As New ManagementObjectSearcher(Scope, Query)
    27. 'Get a collection of WMI objects
    28. Dim queryCollection As ManagementObjectCollection = Searcher.Get
    29. 'Enumerate wmi object
    30. For Each mObject As ManagementObject In queryCollection
    31. 'write out some property value
    32. ListViewEx1.Items.Add(mObject("Caption").ToString)
    33. ' ListViewEx1.Items.Add(mObject("FENSTERTITEL"))
    34. Next
    35. End Sub
    36. End Class




    Link:
    docs.microsoft.com/en-us/windo…imwin32prov/win32-process

    Visual Basic.NET 8o
    MS-SQL
    8o
    @Cheffboss Hast Du dies schon gefunden?
    WMI AUSLESEN
    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!

    Cheffboss schrieb:

    Meinst du, es ist überhaupt möglich per WMI die Fenstertitel auszulesen?
    Keine Ahnung.
    Hast Du das nicht gerade im 1. Post getan?
    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
    Die erste Listbox per .NET (Process.GetProcesses), mit Prozessname und Fenstertitel.
    Und für die zweite Listbox wünsche ich mir das gleiche.
    Bis jetzt könnte ich nur die Prozesse auslesen! (per WMI)
    Und es fehlt noch die Fenstertitel, diese in der Taskleiste sind.

    Ich habe im anderen Post geschrieben, das ich möchte das auch Programme
    diese angehalten sind, aufgelistet werden.
    Das wäre mein Ziel!
    Visual Basic.NET 8o
    MS-SQL
    8o
    @Cheffboss Frag mal Frau Google nach csharp fenster in der taskleiste auslesen.
    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!
    @an alle
    Vielen Dank, für eure Hilfe.
    Ich habe nun herausgefunden, es lag gar nicht an der Windows Version.
    Sondern nur an der Edge Version.
    Sobald man die neuste Version installiert hat, wird der Prozess eigenständig und wird auch in der Taskleiste angezeigt.
    Und beim Minimieren geht dieser auch nicht in den halte Modus(angehalten).
    Also für alle die das gleiche Problem haben, einfach die neuste Edge Version installieren.
    Nochmals Danke an euch!
    Visual Basic.NET 8o
    MS-SQL
    8o