
Io come molte persone al mondo, uso due Monitor per lavorare al mio PC. Infatti usando un portatile ed essendo il suo schermo 15 pollici, ho comprato uno schermo 19" e l'ho collegato al notebook estendendo il desktop. Il problema che mi è sorto dopo un pò è che a volte per la fretta staccavo gli spinotti del Notebook e lo portavo via. Quando accendevo il PC altrove senza secondo schermo mi torvavo una serie di finestre spostate in una porzione invisibile dello schermo, allora dovevo ridurre a icona le fienstre aperte, andare in proprietà e disattivare lo schermo per avere tutto riportato sul primo schermo.
Che c'è di strano? E' che mi ricordo di spegnere lo schermo sempre quando escono delle finestre modali sullo schermo spento (quelle finestrelle che non ti fanno far niente se prima non le chiudi) e ogni volta via a fare un casino per sistemarle.
Dopo varie vicissitudini ho concluso che era il caso di creare una Utility che permettesse di spegnere e accendere il monitor esteso in modo più semplice.
Ecco qui il risultato
ResolT vers 000001aE' una Utility gratuita fatta da me che può spegnere e accendere il secondo monitor dalla TrayBar di Windows.
E' una versione alfa che permette di fare solo quello, in seguito avrà altre funzioni. Allego anche il sorgente così che se qualcuno vuole aiutarmi in questa folle impresa può farlo. In cambio dei sorgenti chiedo solo che gli eventuali cambiamenti mi vengano postati via mail : pasalinoETgmail.com in modo da postare sul mio blog le modifiche. Diciamo una sorta di licenza GPL ^^
Il linguaggio usato è il C# che tramite le API di Windows mi ha permesso di operare sullo schermo.
Il prima possibile (tempo permettendo) scrivo un post su come si accende e si spegne lo schermo esteso via API sia in C++ che in C#, l'esempio però è già disponibile nei sorgenti allegati col programma. Ovvio che è possibile riscrivere il programma in qualsiasi linguaggio che permetta l'interfacciamento con le API Windows anche JAVA.
Rilancio solo il post a una delle più comuni funzioni usate per questo programma:
http://msdn2.microsoft.com/en-us/library/ms533235(VS.85).aspxhttp://www.codeguru.com/forum/archive/index.php/t-165691.htmlVe lo dico già da subito: su internet si trovano molti esempi, ma non tutti sono funzionanti, io per mettere insieme tutti i pezzi c'ho messo un pò. Ho dovuto prendere il vero da un pò di siti e raccimolarlo in un unico programma.
Resto col dire che MSDN mi ha dato una forte mano anche se non è molto esaustiva sulla procedura da effettuare e lascia un pò campate in aria alcune cose che a mio avviso dovrebbero essere scritte.