Alors :
1 - pas la peine d'écrire aussi gros (meme si cest ptetre pas volontaire...si ca lest cest plus chiant qu'autre chose, et ca coupe l'envie de répondre, mais je laisserais le bénéfice du doute)
2 - ca se fait pas en C#, il faut utiliser les API natives. en l'occurence renseigne toi sur les API de la famille RAS, et sur le P/Invoke si tu ne connais pas