[linguaggio da utilizzare: vb.net o vb6]

vorrei realizzare un programmino che attraverso una una combinazone di tasti da me scelta ("ctrl+qualche tasto") inverta le minuscole in maiuscole e viceversa di un testo che ho digitato in qualunque programma, editor, o casella di testo nel quale abbia scritto tale testo.
Presumo quindi che il lavoro vada fatto a livello di windows.

faccio qualche esempio:

scrivo su notepad: "Io sono Alessio" -->seleziono il testo appena scritto -->premo la combinazione di tasti scelta -->il programma cambia il mio testo in: "iO SONO aLESSIO"


altro esempio:
sto su all'interno del Explorer e scrivo su una casella di testo di una pagina web "PASSword" -->premo la combinazione di tasti scelta -->il programma cambia il mio testo in "passWORD"


ora a parte il semplice codice che inverte le minuscole in maiuscole, quello di cui avrei bisogno è un aiuto su come procedere per catturare il testo selezionato in qualsiasi applicazione(attenzione:testo solo selezionato, non copiato! lo evidenzio con il mouse ma non faccio ctrl+c) presumo quindi che dovro' usare un'API di windows(a meno che esista qualche classe.net), quale?
Che tipo di programma dovra essere? un servizio di windows? un semplice eseguibile da laciare all'avvio?altro?
e inoltre come riscrivere il testo modificato nella stessa selezione da cui o catturato il testo?


spero di esssermi spiegato bene e che qualcuno possa darmi dei suggerimenti, grazie a tutti