Differenze tra le versioni di "Individuare ID e nome delle finestre attive con le risorse del Componente gb.desktop"

Da Gambas-it.org - Wikipedia.
Riga 18: Riga 18:
 
   
 
   
 
   For b = 0 To Desktop.Windows.Count - 1
 
   For b = 0 To Desktop.Windows.Count - 1
     With dw = New DesktopWindow(Desktop.Windows[j].Id)
+
     With dw = New DesktopWindow(Desktop.Windows[b].Id)
 
  <FONT color=#006400>' ''In questo caso vediamo di ciascuna finestra sia il numero dell'ID (in esadecimale) che il Nome:''</font>
 
  <FONT color=#006400>' ''In questo caso vediamo di ciascuna finestra sia il numero dell'ID (in esadecimale) che il Nome:''</font>
 
       Print Hex(.Id), .VisibleName
 
       Print Hex(.Id), .VisibleName

Versione delle 18:59, 24 set 2023

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[b].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