La shell di windows è estremamente programmabile: l'InfoTip che compare quando posizioniamo il cursore del mouse ad esempio su un file dandocene una descrizione sommaria, è un esempio di Estensione della Shell. Le pagine che troviamo nella maschera che ci compare quando facciamo click col pulsante destro del mouse e click su Proprietà, sono un altro esempio. La programmazione della shell si interseca anche con la programmazione di Internet Explorer (vedi Comm Bands ossia le maschere orizzontali in IE oppure le Info Bands ossia le maschere verticali in IE che hanno entrambe forti similarità con le Desk Bands ossia le cosidette Barre degli Strumenti che troviamo nella Task Bar, ed altro ancora ...). Il materiale è tanto, la documentazione sul web non manca, dal Visual C++ al Delphi, etc... ma ci fa star bene in questi casi il fatto di sapere che c'è un'anima pia nel globo che ha deciso di creare per tutti noi un'incredibile pacchetto Open Source in Delphi per la creazione di Shell Extensions. Basta andare al sito
http://www.mustangpeak.net/e troviamo parecchio materiale: EasyNse è il pacchetto che riguarda appunto la creazione di Shell Extensions
http://www.mustangpeak.net/easynse.htmMa per chi ad esempio usasse i controlli inclusi in Delphi 7 e dedicati all'emulazione delle finestre di Esplora Risorse, ossia i componenti TShellTreeView, TShellListView e TShellComboBox, rimarrebbe stupefatto dai componenti del pacchetto VirtualShellTools
http://www.mustangpeak.net/vstools.htmcostruiti attorno al miglior componente griglia in circolazione ossia la VirtualTreeView di Mike Lishke, anche'essa in Delphi ed anch'essa rigorosament e Open source e prelevabile al sito dell'autore
http://www.soft-gems.net/Per chi avesse dei dubbi sulla bontà della VirtualTreeView sappia che tale componente è stato adottato dalla stessa Borland per la creazione di Delphi dalla versione 2005.
Per dovere di cronaca è doveroso segnalare il seguente pacchetto VCL Delphi che consente la creazione di Shell Extensions
ShellPlus (a pagamento):
http://www.shellplus.com/Per quanto riguarda invece i controlli per enumerare file e cartelle nello stile Esplora Risorse di Windows abbiamo sempre OpenSource in Delphi
TurboPower ShellShock (includono anche alcuni componenti per la realizzazione di Shell Extensions):
http://sourceforge.net/projects/tpshellshock/Arisesoft Shell Pack:
http://www.arisesoft.com/shellpack/Per quanto riguarda articoli inerenti le Shell Extensions, degni di nota sono i seguenti:
http://delphi.about.com/library/bluc/text/uc071701a.htm (realizzazione di un InfoTip)
http://www.prestwood.com/community/delphi/...ons/default.asp (realizzazione di un InfoTip)
http://www.agnisoft.com/white_papers/infotip_shell.asp (realizzazione di un InfoTip)
Per descrizioni dettagliate dei vari tipi di Shell Extensions con esempi allegati è d'obbligo la serie capolavoro in 9 parti di Michael Dunn in Visual C++ su CodeProject
http://www.codeproject.com/shell/shellextguideindex.aspSto un pò scartabellando negli archivi segreti ed ho almeno 3 articoli in Delphi sull'argomento salvati in tempi remoti da siti che ora sono defunti (pace all'anima loro). Il tempo di dargli una formattazione adeguata (oltre a verificare l'odierna validità del codice allegato) e li aggiungo al mio sito.