Windows Embedded Standard 7: I filtri verso
l'interfaccia
(Post 1 di 4)
Una delle funzionalità più richieste nei sistemi Embedded è
quella di evitare, in qualche modo, che l'utente sia "invitato",
dal sistema operativo o da un applicativo non progettato per
l'Embedded, ad interagire tramite tastiera, mouse o touch.
Questa situazione, ben evidenziata dalle immagini che seguono,
mette in imbarazzo l'utente, che non soltanto non ha la possibilità
di intervenire ma, anche se fosse in grado di farlo, spesso non
saprebbe cosa rispondere.
Si torna, di fatto, alla differenza tra un sistema desktop, dove
l'utente è tenuto ad avere consapevolezza di essere davanti ad un
computer con un sistema operativo e delle applicazioni, ed un
sistema Embedded inteso come una "soluzione dedicata", in cui
l'utente sa di essere di fronte ad un prodotto pensato e realizzato
per rispondere ad una sua esigenza specifica (es: il registratore
di cassa per una cassiera, un chiosco informativo per ricevere
informazioni, ecc...).
Per evitare (o almeno ridurre) l'interazione del sistema
operativo e delle altre applicazioni con l'utente e per evitare di
trovarsi nelle situazioni esposte in precedenza, Windows Embedded
Standard 7 offre molte soluzioni che, combinate fra loro,
permettono di limitare, se non escludere completamente, la
richiesta di intervento da parte dell'utente su finestre non di sua
competenza.
Alcune di queste, come la possibilità di rispondere in maniera
"standard" ad una Message box prima che questa venga visualizzata o
quella di NON far comparire i Balloon Pop-Up di notifica, erano
possibili già nelle precedenti versioni (Windows Embedded Standard
2009). Altre, come la possibilità di mettere un filtro su una
qualsiasi finestra che sta per comparire in modo da poterne
pilotare il comportamento, sono state aggiunte in questa
versione.
La funzione MessageBox delle API di Windows offre al
programmatore la possibilità di far comparire una finestra di
dialogo che può contenere del testo, dei pulsanti e dei simboli.
Questa funzione viene tipicamente utilizzata per visualizzare degli
avvertimenti o degli errori ed offrire all'utente delle scelte su
come operare rispetto alla situazione visualizzata.
Con Balloons (che nella versione italiana vengono tradotti come
"fumetti") ci riferiamo a quei messaggi che compaiono quando un
applicativo (o il sistema stesso) vuole comunicare qualcosa che
riguarda lo stato di una funzione: ad esempio, quando si inserisce
una chiavetta USB ed il sistema ne fa comparire uno per notificare
che è stato rilevato un dispositivo e se ne sta caricando il driver
opportuno.
Questo post è il primo di una serie di quattro post che
compongono un articolo che tratta l'argomento dei filtri verso
l'interfaccia. In particolare globalmente ci occuperemo di:
1. Risposta standard ai messaggi (Message Box Default
Reply)
Configurazione mediante ICE
Configurazione mediante IBW
Installazione mediante DISM
Esempio pratico
2. Eliminazione della visualizzazione dei "fumetti"
(Balloons)
3. Filtro dei messaggi (Dialog box filter)
Configurazione mediante ICE
Configurazione mediante IBW
Installazione mediante DISM
Esempio pratico
Per favorire l'immediatezza della comprensione di queste
funzionalità, riportiamo, fin da questo primo post, le conclusioni
finali dell'articolo nella sua interezza che saranno più chiare
dopo aver letto tutti i post.
I filtri verso l'interfaccia - conclusioni
Per proteggere la nostra applicazione dai messaggi che arrivano
dal sistema o dalle altre applicazioni, possiamo usare la risposta
standard ai messaggi (Message Box Default Reply),
disabilitare i "fumetti" (Balloons) o configurare
opportunamente i filtri dei messaggi (Dialog Box
Filter). Con le prime due soluzioni otteniamo una modifica
globale al sistema; con l'ultima possiamo migliorare la granularità
della configurazione. Questo è molto efficace se dobbiamo
neutralizzare "chirurgicamente" alcune finestre che compaiono
quando non vorremmo, ma diventa un lavoro oneroso all'aumentare del
numero delle finestre da gestire: basti pensare alla localizzazione
dei pulsanti che ci costringe ad una diversificazione dei file di
configurazione in base alla lingua utilizzata.
____________________________________
Questo articolo è stato scritto, curato nei particolari oltre
che da me anche da due miei colleghi: Gianni Rosa Gallina (blog)
eMVP e Marina Sabetta.
Per ulteriori informazioni potete riferirVi a questi
collegamenti (in inglese):
http://msdn.microsoft.com/en-us/library/ff793549(v=winembedded.60)
http://msdn.microsoft.com/en-us/library/ff794009(v=winembedded.60).aspx
http://msdn.microsoft.com/en-us/library/ee832759.aspx