Aktuellen Process anzeigen

  • VB.NET

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

    Aktuellen Process anzeigen

    Hallo,

    Habe mal ne frage. Wie kann ich es so machen, dass ich immer den aktuellsten Process im Textbox anzeigen lassen kann?
    Also das wenn ich z.B. auf internet explorer klicke, dass da iexplorer.exe steht und wenn ich auf firefox klicke, dass da firefox.exe usw. steht.

    Ich hoffe ihr habt mich verstanden.
    Und ja ich habe die sufu benutzt!

    Liebe Grüße
    Du kannst mit der Funktion GetForegroundWindow das Handle des aktiven Fensters bestimmen. Dann gehst du alle Prozesse in Process.GetProcesses durch und prüfst, ob das MainwindowHandle das gleiche wie das des aktiven Fensters ist. Wenn ja, hast du deinen Prozess gefunden.
    Probiers mal so:

    VB.NET-Quellcode

    1. Public Class Form1
    2. ''' <summary>The GetForegroundWindow function returns a handle to the foreground window.</summary>
    3. ''' <returns>The return value is a handle to the foreground window. The foreground window can be NULL in certain circumstances, such as when a window is losing activation. </returns>
    4. <Runtime.InteropServices.DllImport("user32.dll", SetLastError:=True)> _
    5. Private Shared Function GetForegroundWindow() As IntPtr
    6. End Function
    7. Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
    8. Try 'Hier verwende ich Try, da wir die Fehlermeldung nicht brauchen
    9. Label1.Text = ForegroundWindowProcess.ProcessName
    10. Catch
    11. End Try
    12. End Sub
    13. Private ReadOnly Property ForegroundWindowProcess As Process
    14. Get
    15. Dim ActiveWindowHandle As IntPtr = GetForegroundWindow() 'Der Handle des aktiven Fensters
    16. For Each Process As Process In Process.GetProcesses 'Alle aktiven Prozesse durchgehen
    17. If Process.MainWindowHandle = ActiveWindowHandle Then 'Wenn der Handle des Prozesses mit dem Handle des Fensters im Vordergrund übereinstimmt, ist das Fenster gefunden
    18. Return Process 'Den gefundenen Prozess zurückgeben
    19. End If
    20. Next
    21. Throw New Exception("No matching process found") 'Wenn kein Vordergrundfenster ausgewählt ist, eine Exception werfen
    22. End Get
    23. End Property
    24. End Class