Aaaalso,
Ich nutze folgendes um die aktiven fesnter auszulesen, sowie das handle, titel und status (maxmimized, minimized, normal)
Spoiler anzeigen
Das seltsame ist, wenn ich die Funktion so anspreche:
Dann geht es, alle einträge werden in der ListBox gelistet.
Wenn ich jetzt allerdings alle Informationen der Fenster zusammenfügen möchte, etwas so:
1234567|||Maximized|||TitelVonFenster1;;;76543|||Minimized|||TitelVonFenster2;;;9387234|||Maximized|||TitelVonFenster3 ...
Und ich versuche die Strings so zu verbinden, dann geht es nicht:
Es wird mir lediglich ein Informationsset angezeigt, also nur von einem Fenster, anstatt alle informationen in einen String verknüpft?
Wieso geht das nicht??
Ich nutze folgendes um die aktiven fesnter auszulesen, sowie das handle, titel und status (maxmimized, minimized, normal)
VB.NET-Quellcode
- #Region "Windowmanaging"
- Public Delegate Function CallBack(ByVal hwnd As IntPtr, ByVal lParam As Integer) As Boolean
- Public Declare Function EnumWindows Lib "user32.dll" (ByVal Adress As CallBack, ByVal y As Integer) As Integer
- Public Declare Function IsWindowVisible Lib "user32.dll" (ByVal hwnd As IntPtr) As Boolean
- Private Declare Function GetWindowText Lib "user32.dll" Alias "GetWindowTextA" (ByVal hwnd As Integer, ByVal lpWindowText As String, ByVal cch As Integer) As Integer
- Private Shared ActiveWindows As New ObjectModel.Collection(Of IntPtr)
- Private Declare Function IsZoomed Lib "user32.dll" (ByVal hwnd As Long) As Long
- Private Declare Function IsIconic Lib "user32.dll" (ByVal hwnd As Long) As Long
- Private Declare Function ShowWindow Lib "user32.dll" (ByVal hwnd As Integer, ByVal nCmdShow As Integer) As Integer
- Private Const Windows = 11
- Public Function GetWindows() As List(Of String)
- On Error Resume Next
- Dim VisibleWindow As String = Nothing
- Dim inVisibleWindow As String = Nothing
- Dim hwndlist As New List(Of String)
- ActiveWindows.Clear()
- For Each i In GetActiveWindows()
- Dim windtitle As String = GetWindowtitle(i).Trim(Chr(0))
- If Not windtitle = Nothing Then
- If IsWindowVisible(i) Then
- hwndlist.Add(i.ToString & "|||" & GetWindowState(i) & "|||" & GetWindowtitle(i) & ";;;")
- End If
- End If
- Next
- Return hwndlist
- End Function
- Public Shared Function GetWindowtitle(ByVal hwnd As IntPtr) As String
- On Error Resume Next
- Dim Text As String = Space(Int16.MaxValue)
- GetWindowText(hwnd, Text, Int16.MaxValue)
- Return Text.Trim
- End Function
- Public Shared Function GetActiveWindows() As ObjectModel.Collection(Of IntPtr)
- On Error Resume Next
- EnumWindows(AddressOf Enumerator, 0)
- Return ActiveWindows
- End Function
- Private Shared Function Enumerator(ByVal Hwnd As IntPtr, ByVal lParam As Integer) As Boolean
- On Error Resume Next
- ActiveWindows.Add(Hwnd)
- Return True
- End Function
- Public Shared Function GetWindowState(hwnd As String) As String
- If IsZoomed(hwnd) = 1 Then 'maximized
- Return "Maxmimized"
- ElseIf IsIconic(hwnd) = 1 Then 'minimized
- Return "Minimized"
- End If
- Return "Normal"
- End Function
- #End Region
Das seltsame ist, wenn ich die Funktion so anspreche:
Dann geht es, alle einträge werden in der ListBox gelistet.
Wenn ich jetzt allerdings alle Informationen der Fenster zusammenfügen möchte, etwas so:
1234567|||Maximized|||TitelVonFenster1;;;76543|||Minimized|||TitelVonFenster2;;;9387234|||Maximized|||TitelVonFenster3 ...
Und ich versuche die Strings so zu verbinden, dann geht es nicht:
Es wird mir lediglich ein Informationsset angezeigt, also nur von einem Fenster, anstatt alle informationen in einen String verknüpft?
Wieso geht das nicht??
C# Developer
Learning C++
Learning C++
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Rikudo“ ()