Individuare ID e nome delle finestre attive con le risorse del Componente gb.desktop

Da Gambas-it.org - Wikipedia.

Se intendiamo conoscere il numero identificativo (ID) e il titolo di tutte le finestre presenti sul desktop, possiamo adottare il seguente codice con la Classe Desktop del Componente gb.desktop:

Public Sub Button1_Click()

 Dim b As Byte

 For b = 0 To Desktop.Windows.Count - 1
   With Desktop.Windows[b]
     Print Hex(.Id, 8), .VisibleName
   End With
 Next

End

oppure con la combinazione della Classe Desktop del Componente gb.desktop e della Classe DesktopWindow del Componente gb.desktop.x11:

Public Sub Button1_Click()

 Dim b As Byte
 Dim dw As DesktopWindow

 For b = 0 To Desktop.Windows.Count - 1
   With dw = New DesktopWindow(Desktop.Windows[j].Id)
' In questo caso vediamo di ciascuna finestra sia il numero dell'ID (in esadecimale) che il Nome:
     Print Hex(.Id), .VisibleName
   End With
 Next

End

o anche:

Public Sub Button1_Click()

 Dim wid As Integer
 Dim dw As DesktopWindow

 For Each wid In Desktop.FindWindow("*", Null, Null)
   With dw = New DesktopWindow(wid)
' Vediamo di ciascuna finestra sia il numero dell'ID (in esadecimale) che il Nome:
     If Not IsNull(.VisibleName) Then Print Hex(.Id), .VisibleName
   End With
 Next

End