Press "Enter" to skip to content

Un trucco cattivello per intercettare lo screen capture (printscreen)

Premetto che si tratta di un trucco non di una soluzione, fatto per evitare che l’utente medio faccia cose che preferiremmo non facesse, per risolvere il problema in modo più serio biosgnerebbe intercettarlo a livello di messaggio di sistema. Non so se esiste una policy di macchina per farlo (così come si può disattivare lo screen saver, chissà), ad ogni modo come indicato nel titolo è solo un viscido trucco da programmatore VBI (VB non sta per visual basic).

Se installate un qualsiasi pacchetto per l’intercettazione e la cattura dello schermo questo trucco non funzionerà, però se siete voi (o il Sistemista cerbero) a controllare che cosa viene installato sulle macchine può dare un aiutino.

Su una form attivate il KeyPreview ponendo la apposita property a True, e utilizzando il seguente codice:

        private void Form1_KeyUp(object sender, KeyEventArgs e)
        {
            if( e.KeyCode == Keys.PrintScreen || e.KeyCode == Keys.Print)
            {
                Clipboard.Clear();
                e.Handled = true;
            }
        }

evitate che dopo un Ctrl+Stamp o un Alt+Stamp andando in Paint e premendo Incolla, la videata venga inserita su una bitmap e spedita via e-mail o stampata.

Se qualcuno ha implementato un metodo più serio per farlo, ce lo faccia sapere e ne pubblico volentieri un link.