hi leute, ich glaube ich verzweifle bald. ich möchte ganz einfach einen string immerwieder um eine gewisse zeichenkette erweitern, aber es geht aus irgendeinen grund nicht.
ich habe den tipp "Fenster, die in der Taskleiste zu sehen sind" verwendet, und möchte jetzt in einer einfachen string variable die Titel mit "," getrennt schreiben.
hier einmal der auszug aus dem modul:
Option Explicit
...
Public locals As String
Dim i As Integer
Public hmm(200) As String
' Diese Funktion initialisiert das Ganze
Public Sub ew_go()
' Aufrufen, und ew_callback() übergeben.
' Der zweite Parameter ist egal, kann frei definiert werden
EnumWindows AddressOf ew_callback, 0
MsgBox "locals: " & locals
End Sub
' Diese Function nimmt die Callbacks entgegen.
' param ist der zweite Parameter von EnumWindows,
' handle stellt ein enumeriertes Fenster dar
Private Function ew_callback(ByVal handle As Long, ByVal param As Long) As Long
...
End Function
' Diese Funktion prüft, ob das gefundene Fenster
' in der Taskleiste angezeigt wird
Private Sub ew_fenster(handle As Long)
Dim i1 As Long
Dim i2 As Long
Dim d1 As String
Dim d2 As String
' Fenster muss sichtbar sein UND darf kein Elternfenster haben
If IsWindowVisible(handle) And GetParent(handle) = 0 Then
' erweiterte Optionen abrufen
i1 = GetWindowLong(handle, GWL_EXSTYLE)
' nochmals Elternfenster prüfen:
i2 = GetWindow(handle, GW_OWNER)
' Prüfen, ob:
' - Kein ToolWindow und kein Childfenster oder
' - Anwendungsfenster und Childfenster
If ((i1 And WS_EX_TOOLWINDOW) = 0 And i2 = 0) Or _
((i1 And WS_EX_APPWINDOW) And (i2 <> 0)) Then
' Titel / Klasse auslesen
GetWindowInfo handle, d1, d2
' und anzeigen (Handle, Titel, Klasse)
' Hier können Sie machen was Sie wollen ;)
'Form1.List1.AddItem handle & ": " & d1 & " (" & d2 & ")"
MsgBox d1 & " (" & d2 & ")"
locals = locals & d1 & " (" & d2 & "), "
End If
End If
End Sub
Sub GetWindowInfo(handle As Long, p1 As String, p2 As String)
...
End Sub Dieser Tipp funktioniert einwandfrei, bei der Messagebox (MsgBox d1 & " (" & d2 & ")") stehen auch die richtigen Fensterbezeichnung, allerdings wenn ich das dann in die variabel locals reinspeichern möchte mit: locals = locals & d1 & " (" & d2 & "), ", dann steht immer nur ein Fenstertitel in der Variabel. Ich hoffe ihr versteht mein problem und könnt mir helfen, wahrscheinlich stehe ich nur schon seit 2 stunden auf der leitung...
überprüfen möcht ich dann am schluss die variabel eben mit: MsgBox "locals: " & locals im sub ew_go.
mfg disconnect
Gehe immer vom Guten Willen Anderer aus! |