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:
Public Sub Button1_Click() For Each i As Integer In Desktop.FindWindow(Null, Null, Null) With Desktop Print Hex(i), .Windows.FromHandle(i).VisibleName End With Next End
oppure:
Public Sub Button1_Click() Dim i As Integer For b As Byte = 0 To Desktop.FindWindow(Null, Null, Null).Max With Desktop i = .FindWindow(Null, Null, Null)[b] Print i, Hex(i, 8), .Windows.FromHandle(i).VisibleName End With Next End
Usando la combinazione della Classe Desktop del Componente gb.desktop e della Classe DesktopWindow del Componente gb.desktop.x11
Public Sub Button1_Click() Dim dw As DesktopWindow For Each dw To Desktop.Windows With dw Print Hex(.Id), .Name, .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, 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