Gracias David una pregunta:
Es que el código me parece que es de Visual Basic 6, y tengo un par de errores (Es que no conozco nada de Visual 6)
Código:
'Procedimiento que lista las ventanas visibles de Windows
Private Sub Listar()
Dim buf As Long, handle As Long, titulo As String, lenT As Long, ret As Long
List1.Items.Clear()
'Obtenemos el Hwnd de la primera ventana, usando la constante GW_HWNDFIRST
handle = GetWindow(hWnd, GW_HWNDFIRST)
'Este bucle va a recorrer todas las ventanas.
'cuando GetWindow devielva un 0, es por que no hay mas
Do While handle <> 0
'Tenemos que comprobar que la ventana es una de tipo visible
If IsWindowVisible(handle) Then
'Obtenemos el número de caracteres de la ventana
lenT = GetWindowTextLength(handle)
'si es el número anterior es mayor a 0
If lenT > 0 Then
'Creamos un buffer. Este buffer tendrá el tamaño con la variable LenT
titulo = String$(lenT, 0)
'Ahora recuperamos el texto de la ventana en el buffer que le enviamos
'y también debemos pasarle el Hwnd de dicha ventana
ret = GetWindowText(handle, titulo, lenT + 1)
titulo$ = Left$(titulo, ret)
'La agregamos al ListBox
'List1.AddItem(titulo$)
List1.Items.Add(titulo) 'Puse esta linea pensando que es lo mismo que la anterior
End If
End If
handle = GetWindow(handle, GW_HWNDNEXT)
Loop
End Sub
handle = GetWindow(hWnd, GW_HWNDFIRST)
El hWnd ya estaba declarado en las funciones del ejemplo que me mandaste de esa pagina, igual me dice que no esta declarado.
titulo = String$(lenT, 0)
Me dice que String es un tipo y no se puede usar como expresión
titulo$ = Left$(titulo, ret)
Public Property Left() As Integer' has no parameters and its return type cannot be indexed.
$
Type character '$' does not match declared data type 'Integer'.
Estos tipos de codigos me han salido en muchos programas pero no se como cambiarlos. Si me puedes decir nada mas con que los arreglo, gracias.