Vabbè ci studierò sopra.
Devo dire che ti sei addentrato in una questione abbastanza complessa.
Ad ogni modo penso che tu abbia almeno 2 strade:
* effettuare una ripresa esterna con una videocamera di ciò che avviene sul desktop. Però è una modalità un po'... grezza, soprattutto, come è comprensibile, riguardo alla qualità finale del video (problemi connessi a riflessi dello schermo, luminosità, ed altro). Questo percorso, però, consente di far vedere anche il puntatore del mouse.
* effettuare una molteplicità di schermate (
screenshot) del desktop, in modo da comporle come tanti fotogrammi in un video. La cosa in sé è molto semplice: è sufficiente utilizzare il metodo
.Screenshot() della Classe Desktop. Vanno attivati i Componenti
gb.desktop e
gb.desktop.x11.
Insomma una cosa di questo genere:
Private pc As New Picture[]
Public Sub Form_Open()
Dim i As Integer
With Me
.W = 400
.H = 450
.Center
End With
With Button1
.X = Me.W - (Button1.W + 10)
.Y = Me.H - (Button1.H + 10)
End With
With PictureBox1
.W = 300
.H = 300
End With
For i = 0 To 99
pc.Push(Desktop.Screenshot(0, 0, 300, 300))
' 1 immagine ogni 100 millesimi di secondo:
Wait 0.1
Next
Button1.Enabled = True
End
Public Sub Button1_Click() ' Mostra il risultato
Dim i As Integer
For i = 0 To 99
PictureBox1.Picture = pc[i]
Wait 0.1
Next
End
Questa modalità è più fine, ma
non ti permette di catturare nelle schermate il puntatore del mouse.