QT(verouiller les touches spéciales)

Fermé
yousi Messages postés 3 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 14 mai 2009 - 14 mai 2009 à 15:14
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 15 mai 2009 à 08:46
Bonjour,
salut a tous . j'ai un soucis et j'ai besoin de votre aide à tous:
voila, il m'a été confié pour un projet a l'école d'écrire un code pour verrouiller les combinaison de touche spéciales comme : crtl+alt+del ou la touche WINDOWS.
à propos du programme, il doit fonctionner en avant plan et laisser apparaitre le bureau si et seulement si le mot de passe entré est valide, d'où la nécessité de bloquer les touches spéciales afin d'empêcher qu'un utilisateur n'aille stopper le processus pour entrer, ou même aller dans la base de registre.
le programme est fait avec QT (que je n'ai encore jamais utilisé)afin que le programme soit portable :euh: .
j'ai jeté un œil dans le help mais c'est ... pour moi( en tout cas pour un début).
voila je compte sur vous pour m'aider.

7 réponses

utilise l'option vérouiller ^^
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
14 mai 2009 à 15:19
Houlà, c'est s'attaquer à un sacré morceau.
C'est de la programmation à la con pour un débutant.
Tu peux essayer de "réimplémenter" les fonctions virtuel genre keypressevent pour capturer les associations de touche souhaité.
0
yousi Messages postés 3 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 14 mai 2009
14 mai 2009 à 15:31
explique char, je suis débutant alors ce serai bien si tu pouvait me faire un exemple, par ce que là...je suis dans le flou total.merci d'avance
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
14 mai 2009 à 15:53
Disons que ta fenêtre principale dérive de QWidget. Il suffit alors de surchargé les méthodes virtuelles de clavier (regarde la doc de QWidget et tous les membre ayant le nom keyboard)
En particulier grabKeyboard().
En quoi est tu débutant ? Qt ? pas trop grave, ça viendra vite, donne ta version et je te guiderai un peu mieu.
En C++ ? Aïe, je te conseil de faire des exo de base avant de commencer QT.
En programmation ? prévoi plusieurs mois de dur labeur.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
yousi Messages postés 3 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 14 mai 2009
14 mai 2009 à 16:00
QT 4, sous ubuntu 8.04, vas y, je t'ecoute
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
14 mai 2009 à 17:00
Le 4, le plus chiant...
Prends un exemple hello World, surcharge la méthode grabKeyboard()
Ensuite, tu regardes dans la doc à QT, Qt::key, il y a la liste etc.
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
15 mai 2009 à 08:46
Je continue, je n'ai pas eu le temps de finir hier soir.
Donc, dans Qt::key, il y a une liste de touche.
En fait, j'ai confondu, il faut appeler grabKeyboard() qui permet d'accaparer le clavier (par contre, je ne sais pas si c'est pour tout win, c'est au moins pour le processus Qt) ensuite, tu surcharge la méthode keyPressEvent(KeyEvent *e) qui elle est appeler dès qu'une touche est enfoncée.
ensuite, tu testes genre :
if(e->modifier() == Qt::ControlModifier) ...//action
Si tu veux plus de détail, je peux, mais il serait bien que tu essais par toi même.
0