IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

Débutant avec les hooks : une petite question


Sujet :

Windows

  1. #1
    Candidat au Club
    Inscrit en
    Décembre 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Débutant avec les hooks : une petite question
    Je commence à m’intéresser au hooks.
    Je n’ai pas encore écris de programme, je suis en train de me documenter au maximum.
    Mais il y a quelques points que je ne trouve pas claire, et quelque soit les sites où je regarde je ne trouve pas de réponses aux questions que je me pose.

    Ce que je me demande c’est : qu’est ce qu’un hook local exactement ?
    Est-ce que c’est un hook uniquement sur l’application qui définit ce hook ?
    Ou bien est ce que ça peut être un hook sur une autre application ?

    Ce que j’aimerais pouvoir réaliser, pour bien comprendre comment fonctionne les hook, c’est un exemple simple avec notepad.
    Disons que je voudrais créer un hook qui intercepte les appuies clavier de notepad et qui détruirait … disons les appuies sur la touche J en particulier.
    (Oui ça ne sert a rien, c’est juste un exemple pour que je puisse comprendre)

    Dans ce cas là aurais-je besoin de faire un hook local ou global (avec dll donc ?) ?

  2. #2
    Expert éminent
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Points : 8 389
    Points
    8 389
    Par défaut
    Un hook local est un hook qui hooke un ou plusieurs threads du processus qui l'a créé.

    Un hook global peut hooker n'importe quel thread de n'importe quel processus voire tout hooker.

    La documentation officielle dit qu'un hook global doit être implémenté dans une DLL. Il y a tout ce dont tu as besoin de savoir sur les hooks sur MSDN.

    Pour ton truc avec notepad, le hook le plus approprié est un hook clavier (il y a deux types de hooks claviers, un hook "bas niveau" est plus informé par Windows qu'un hook "simple". Renseigne-toi sur MSDN). Dans la routine de gestion des messages claviers implémentée par ton hook, tu choisis les touches à laisser passer et ce qui doivent être supprimées. C'est expliqué dans MSDN comment procéder.

    Comme tu veux hooker un processus (notepad), peut-être même le système tout entier (Windows), c'est d'un hook global dont tuas besoin, avec DLL donc.

Discussions similaires

  1. Une petite question quant a XCode et les ressources extérieures
    Par nschoe dans le forum Autres éditeurs
    Réponses: 0
    Dernier message: 25/06/2008, 15h49
  2. [JFileChooser] Une petite question sur les chemins par defaut
    Par MDP dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 06/02/2008, 14h49
  3. une petite question sur les combobox
    Par kerkennah dans le forum Windows Forms
    Réponses: 3
    Dernier message: 11/01/2007, 05h59
  4. une petite question sur les pointeurs
    Par guy777 dans le forum C
    Réponses: 4
    Dernier message: 06/10/2006, 17h44
  5. Encore une petite question sur les sockets...
    Par damien99 dans le forum MFC
    Réponses: 4
    Dernier message: 15/02/2006, 14h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo