|
Rovistando un pò tra il materiale sui vari dischi, ho trovato questa
applicazione che fornisce diversi esempi di ciò che si può fare con le finestre.
Il codice risale al 2000 (o anche prima) ma c'è parecchio materiale tuttora
valido ed utile. Sicuramente la cosa che salta più all'occhio è l'embedding
della finestra principale di una applicazione all'interno di un qualsiasi
controllo nella nostra applicazione, ma vi sono anche diverse altre cose
interessanti come ad esempio un albero contenente la gerarchia delle finestre
attualmente presenti e per ognuna la possibilità di renderla visibile o meno, di
simulare il click nel caso si tratta di un pulsante, etc... Insomma del codice
che è interessante analizzare. Ho fatto alcune modifiche al codice introducendo
una procedura per la creazione di un processo in sostituzione dell'api ormai
obsoleta WinExec, ma in ogni caso il codice corrispondente originale è stato
commentato e non eliminato. Chi è interessato a questo tipo di cose troverà
sicuramente utile anche il materiale presente ai seguenti indirizzi
Peter Below:
Snippets Collections
SubClassing di
finestre in processi diversi da quello corrente
Window Station
e Desktop
ed ora un pò di screenshot
Inglobare Wordpad dentro la propria applicazione

Gerarchia di finestre

Nell'immagine ho selezionato la Barra delle Applicazioni: ci si può divertire
a rendere visibili o meno la finestra in questione oppure le sottofinestre,
simulare un click nel caso che la sottofinestra sia un pulsante, etc... Si può
cambiare il testo (premere Update per vedere il valore aggiornato nella
finestra) oppure veder visulaizzati i vari Items nel caso si tratti di una
ListBox o una ComboBox, etc.. E' utile selezionare uno ad uno i vari nodi e, se
la finestra corrispondente non è visibile, renderla visibile: salteranno fuori
finestre che ci compaiono ogni tanto. Ad esempio ho trovato la finestra di
COMODO Firewall Pro (eseguibile cfp.exe)


Poi si può anche andare per il sottile con la CheckListBox a destra
Vabè, per il resto (ci sono diverse altre cose) non resta che mettersi a
giocare col programma e col codice
windowhandles.7z
|