Pb pour hooké la touche entrer et espace

BsEtZeOpLhD Messages postés 61 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 29 juin 2005 - 20 sept. 2003 à 20:45
BsEtZeOpLhD Messages postés 61 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 29 juin 2005 - 21 sept. 2003 à 02:19
Salut.

Voila mon problème : j'essaye d'empecher l'utilisation des touches entrer et espace dans toutes les fenêtre windows.
J'ai essayer de faire un hook, mais il ne fonctionne que dans la fenêtre de mon programme et pas dans les autres.

J'ai dabor créé la variable global :

HHOOK hhk = 0;


Ensuite g créé le hook dans l'initialisation de ma fenetre principal :

hhk = SetWindowsHookEx(WH_MSGFILTER, MsgFilterProc, 0, GetCurrentThreadId());


Et g ecri la procédure :

LRESULT CALLBACK MsgFilterProc(int nCode, WPARAM wParam, LPARAM lParam)
{
    MSG *lpmsg;
    lpmsg = (MSG*) lParam;
    if(lpmsg->message == WM_KEYDOWN)
    {        if(lpmsg->wParam VK_RETURN || lpmsg->wParam VK_SPACE)
        {
            MessageBox(lpmsg->hwnd, "Touche INTERDITE", "Information", 0);
            return 1;
        }
    }
}


Si quelqu'un peut me dire ce qu'il faut faire pour que sa fonctionne dans tte les fenêtre windows, je le remerci d'avance.

5 réponses

cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
21 sept. 2003 à 00:11
Salut,
Pour que ca fonctionne dans toutes les fenetres windows, il faut que ta callback MsgFilterProc soit dans une DLL.
0
BsEtZeOpLhD Messages postés 61 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 29 juin 2005
21 sept. 2003 à 00:15
Mettre MsgFilterProc dans une DLL ?
Comment on fait sa ?
0
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
21 sept. 2003 à 00:23
Salut,
Il faut que tu écrive une dll avec ta fonction dedant. C'est obligatoire si tu veux hooker tout les processus.
0
BsEtZeOpLhD Messages postés 61 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 29 juin 2005
21 sept. 2003 à 00:57
Donc il fait que je fasse une DLL contenant MsgFilterProc.
Mais je ne sais absolument pas comment créé une DLL, ni comment l'utiliser par la suite, je suis un débutant...
J'utilise Visual C++.
Si quelqu'un sait comment faire, je le remerci d'avance.
0

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

Posez votre question
BsEtZeOpLhD Messages postés 61 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 29 juin 2005
21 sept. 2003 à 02:19
Est-ce que quelqu'un pourrai me faire une source exemple ac l'utilisation d'une DLL ?
Merci.
0
Rejoignez-nous