Autore Topic: Classe "DesktopWatcher": qualcuno l'ha già sperimentata ?  (Letto 404 volte)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.331
  • Ne mors quidem nos iunget
    • Mostra profilo
Al fine di evitare di scervellarmi nel tentativo di farmi largo in questo nuovo ginepraio.... c'è qualcuno che conosce un po' funzioni e fini di questa classe misteriosa ?
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.331
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Classe "DesktopWatcher": qualcuno l'ha già sperimentata ?
« Risposta #1 il: 03 Agosto 2012, 02:23:31 »
Allora... da un approfondimento  :specchio: che nel frattempo ho compiuto, ho cominciato a districarmi un po'. Riporto, quanto verificato, a beneficio di tutti gli eventuali interessati.

Questa classe osserva il comportamento del desktop sollevando alcuni eventi.

Facciamo qualche esempio:
Codice: gambas [Seleziona]

Private dw As New DesktopWatcher As "dw"


Public Sub Form_Open()

' Restituisce o imposta se l'oggetto DesktopWatcher
' guarda solo la finestra principale:
   dw.RootWindow = True

End



' Se si cambia desktop, viene sollevato questo evento:
Public Sub dw_Change( )
  
   Print "Cambio Desktop !"
  
End



' Questo evento viene sollevato se l'elenco delle finestre è cambiato,
' cioè se una finestra è stata aperta, chiusa, o se l'ordine di sovrapposizione è cambiato:
Public Sub dw_Windows( )
  
   Print "Evento _Windows !"
  
End


...e così via.



Ne ho fatto un riassunto nella nostra WIKI:
http://www.gambas-it.org/wiki/index.php?title=Uso_della_classe_DesktopWatcher
« Ultima modifica: 02 Luglio 2014, 13:08:37 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »