Programmazione.it v6.4
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Forum
C# e le periferiche USB
Scritto da Fabrizio Furnari il 05-11-2007 ore 11:29
Intel Cluster Studio XE
Se non state sviluppando un dispositivo elettronico che si interfacci al vostro computer tramite USB, avrete pensato almeno una volta “come posso gestire personalmente pen drive/lettore MP3/HD?”. Con il .NET framework è abbastanza semplice gestire qualunque periferica USB in maniera veloce e intuitiva, grazie alla classe DriveDetector, sviluppata da Jan Dolinay su CodeProject.

L’autore del codice descrive in questo modo il suo piccolo programma, che come tutti i progetti di CodeProject è liberamente scaricabile previa registrazione: ”allow your program to receive a notification when a removable drive (such as a flash drive) is inserted or removed. It also supports notifications about pending removal of such a device and cancelling this removal.”.

Vediamo allora un po’ più in dettaglio come funziona: la classe è specifica per il .NET framework 2.0 e funziona esclusivamente in ambiente grafico (niente console), e fondamentalmente va a fare un override della funzione WndProc, per intercettare i messaggi che il sistema operativo, tramite WM_DEVICECHANGE, invia a tutte le applicazioni.

Il resto è abbastanza complicato, a meno che non abbiate specifiche conoscenze di come funzionano i messaggi in ambiente Windows (e ovviamente di come manipolarli in C#); per fortuna il codice ci mette in condizione di poter usare in maniera semplicissima le potenzialità di questi messaggi. Basta infatti importare la classe tramite la direttiva using Dolinay;, creare un’istanza della classe DriveDetector e aggiungere gli handle per gli eventi che ci interessano: DeviceArrived, DeviceRemoved e QueryRemove; penso non ci sia bisogno di spiegare a cosa servono, ma potete comunque trovarlo sulla pagina ufficiale del progetto.

Sono presenti anche molti esempi e differenti implementazioni, mentre l’autore risponde, sempre su CodeProject, ad eventuali dubbi o difficoltà derivanti dall’uso del suo sorgente. E’ il caso di fare una visitina a questa pagina, sia che siate interessati a come vengono gestite le periferiche USB in C#, sia che vogliate approfondire il vostro bagaglio culturale su questi affascinanti argomenti.
Precedente: 128 GB in un hard drive a stato solido (3/3)
Successiva: Ottimizzare il codice JavaScript
Copyright Programmazione.it™ 1999-2013. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.283 secondi.