begin process at 2012 05 29 09:05:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

System

 > 

Hook messages de windows


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Hook messages de windows

dimanche 9 juillet 2006 à 17:36:18 | Hook messages de windows

deck_bsd

Membre Club
Bonjour a tous,

Voila je suis sur le point de finir mon 1er hook, mais voila , il ne fonctionne que une fois. Il intercepte une fois le message voulu (WM_CLOSE ici) et puis plus rien. Je ne voi pas ou est le problème. Je vai mettre ici le code :

Le cpp :

static HHOOK hoHook;
static HINSTANCE hiDll;

/* Installe un hook. */
DLLEXPORT BOOL InstallHook(){
          hoHook = SetWindowsHookEx(WH_GETMESSAGE,(HOOKPROC)getMsgHook,hiDll,0);
          if(hoHook != NULL) return TRUE;
          return FALSE;
}

/* désnstalle le hook. */
DLLEXPORT void UnInstallHook(){
          UnhookWindowsHookEx(hoHook);
}

/* Fonction du hook. */         
LRESULT CALLBACK getMsgHook(int code, WPARAM wParam, LPARAM lParam){
        FilterMsg(code,wParam,lParam);
        return CallNextHookEx(hoHook,code,wParam,lParam);
}

/* Traitement des messages interceptés. */
void FilterMsg(int code, WPARAM wParam, LPARAM lParam){
     UINT uiMsg;
    
     uiMsg = ((MSG*)lParam)->message;
    
     switch(uiMsg){
         case WM_CLOSE : MessageBox(NULL,"Message intercepted and stoped","ALT",MB_OK);
                         ((MSG*)lParam)->message = WM_NULL;
         break;
     }
}
BOOL APIENTRY DllMain (HINSTANCE hInst     /* Library instance handle. */ ,
                       DWORD reason        /* Reason this function is being called. */ ,
                       LPVOID reserved     /* Not used. */ )
{
    switch (reason)
    {
      case DLL_PROCESS_ATTACH:
           hiDll = hInst;
        break;

      case DLL_PROCESS_DETACH:
           UnInstallHook();
        break;

      case DLL_THREAD_ATTACH:
        break;

      case DLL_THREAD_DETACH:
        break;
    }

    /* Returns TRUE on success, FALSE on failure */
    return TRUE;
}



le header :

#include <windows.h>
#include <stdio.h>

#define DLLEXPORT __declspec(dllexport)
#define DLLIMPORT __declspec(dllimport)

LRESULT CALLBACK getMsgHook(int code, WPARAM wParam, LPARAM lParam);
void FilterMsg(int code, WPARAM wParam, LPARAM lParam);

Voila , j'espère que quelq'un saura le pourquoi du comment Merci d'avance.
lundi 10 juillet 2006 à 14:47:04 | Re : Hook messages de windows

deck_bsd

Membre Club
En faite j'ai remarqué que cela fonctionne tout le temps pour les fenêtres des l'explorateur, mais une seul fois dés qu'il sagit d'un autre programme, et voir aucune pour certain.


Cette discussion est classée dans : code, wparam, hook, lparam, hohook


Répondre à ce message

Sujets en rapport avec ce message

Combo des touches dans un Hook [ par bdkiller ] Salut,encore moi avec les Hooks xDJ'arrive à mettre les hook en place, ca marche, sauf que je sais pas comment faire pour intercepter la combinaison d HOOK - Help [DevCPP] [ par guitoulefoux ] Bonjour,J'essaye de faire un hook (mon 1er) mais a chaque fois qu'il se lance j'ai un pb d'affectation mémoire.en fait le HOOK récupère les actions cl [HOOK]Encore le meme probleme.. [ par bdkiller ] Salut,Bon, après pas mal d'heures passés là-dessus, j'ai la DLL qui se compile sans erreurs, l'appli principale qui se compile sans erreurs également! Hook clavier sous windows [ par gamani5 ] sltje sais il y a deja beaucoup de tuto sur le sujet mais j en ai lu plein mais j ai toujours un probleme, j arrive a detecter l utilisation d une tou Hook clavier et fenêtre premier plan [ par krokro6 ] Salut à tous, j'ai un petit problème avec ce code la : #include #include #include #include using namespace std;#define DLLEXPORT  __declsp MouseHook avec DialogBox [ par mouloudh ] Bonjour la communauté, Je désespère. Voilà plus d'un mois que je cherchais une solution pour un programme (une souris visuelle qui doit rester toujour Hook + GetForegroundWindow + SendMessage [ par erodatam ] Bonjour, Je souhaite faire un gestionnaire de presse papier en application win32. Grace à un hook, je suis capable d'intercepter les pressions sur le callback [ par krondor5 ] Bonjour, Je retrouve parfois dans certains codes sources, le mot (apparemment réservé) CALLBACK, comme dans l'exemple ci-après, tiré d'une source don MouseHook [ par mouloudh ] Bonjour, J'ai déjà posé une question sur le sujet: comment récupérer le Hook dans une DialogBox, finalement on m'en a déssuadé, et depuis j'ai un peu Je trouve pas le bon code [ par vah bi ] Bonjour à tous , voilà je débute en c et comme editeur j'ai le visual c++.Je  fais actuellement une application avec l'api de visual c++  mais en lang


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,452 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales