begin process at 2012 05 28 18:17:44
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

API

 > 

[Dev C++] disparition hook


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

[Dev C++] disparition hook

lundi 18 avril 2005 à 15:36:02 | [Dev C++] disparition hook

erehtnaP

Salut,

je commence en C++, et je voudrais creer un hook global avec Dev-C++
Le code de la dll et de l'exe se compile sans erreur, les fonction de mises en place et de désinstallation des hooks marchent, mais le Hook, ne s'effectue pas!!

Voila le code de la dll :

#include <windows.h>

HHOOK   hhk;
HINSTANCE hThisMod;

LRESULT CALLBACK KeyboardProc(int nCode,WPARAM wParam,LPARAM lParam);
__declspec (dllexport) int InitHook (void);
__declspec (dllexport) int EndHook (void);

LRESULT CALLBACK KeyboardProc(int nCode,WPARAM wParam,LPARAM lParam)
{
    if ( nCode < 0 || nCode == HC_NOREMOVE )
        return CallNextHookEx(hhk, nCode, wParam, lParam);

    // Pour éviter les répétitions
    if (((DWORD)lParam & 1<<30) != FALSE)
        return CallNextHookEx(hhk, nCode, wParam, lParam);      
    if (wParam== 'A')
    {
       MessageBeep(MB_OK);
       return 1;
    }  
    return CallNextHookEx(hhk, nCode, wParam, lParam);
}

BOOL APIENTRY DllMain (HINSTANCE hinst, DWORD reason, LPVOID reserv)
{
    if  (reason==DLL_PROCESS_ATTACH)
        hThisMod = hinst;
    return 1;
}

__declspec (dllexport) int InitHook (void)
{
    if (!hhk)
hhk = SetWindowsHookEx (WH_KEYBOARD, (HOOKPROC)KeyboardProc, hThisMod, 0);
    return 1;
}

__declspec (dllexport) int EndHook (void)
{
if (hhk)
    {
       UnhookWindowsHookEx (hhk);
       return 1;
    }
    return 0;
}

La fonction InitHook me renvois 1 (donc la fonction est bien appelé et elle retourne une valeur), et la fonction EndHook 0 (donc le hook n'a pas lieu)..

Mais par contre je comprends pas pourquoi !!

Ca fait un bout de temps que je cherches et toute aide est bienvenue.
lundi 18 avril 2005 à 15:56:27 | Re : [Dev C++] disparition hook

BruNews

Administrateur CodeS-SourceS
Ta fonction InitHook renvoie 1 à tout coup, tu n'as donc aucune garantie que réussira.

ciao...
BruNews, MVP VC++
lundi 18 avril 2005 à 16:17:18 | Re : [Dev C++] disparition hook

erehtnaP

Oui, c'est juste pour tester la communication entre la dll et l'exe, je me sers de la fonction EndHook pour savoir si la mise en place du hook a lieu (et la ca n'a pas lieu).

Mais par contre, je vois vraiment pas pourquoi !!!

lundi 18 avril 2005 à 16:27:32 | Re : [Dev C++] disparition hook

BruNews

Administrateur CodeS-SourceS
Verifie avec Depends.exe que ta fonction KeyboardProc() est correctement exportée, on ne sait jamais.

ciao...
BruNews, MVP VC++
lundi 18 avril 2005 à 16:57:38 | Re : [Dev C++] disparition hook

erehtnaP

Erf je trouve 4 fonction, dont 2 fois le KeyboardProc()

Sinon a part ca et la dll "MSJAVA.dll"  introuvable
(mais bon je penses pas que dans ce contexte ca soit important...) et 2 Warnings :

Warning: At least one delay-load dependency module was not found.
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.

Tout ce passe bien, ca mis a part.

En tournant un peu le code j'ai réussis a faire un Hook local avec cette fontion
KeyboardProc() de la dll
lundi 18 avril 2005 à 21:37:37 | Re : [Dev C++] disparition hook

erehtnaP

Je viens de trouver, le probleme vient de Dev C++

Donc je compile la dll avec Borland, et le programme avec Dev C++
Par contre ton programme m'a été tres utile BruNews,

Merci beaucoup
mardi 19 avril 2005 à 06:20:57 | Re : [Dev C++] disparition hook

racpp

Administrateur CodeS-SourceS
Salut,
Si tu es sous Windows 2000 ou XP, voici un hook clavier qui marche avec Dev c++ :
http://www.cppfrance.com/code.aspx?id=27169
La procédure de hook est dans le même exécutable.

mardi 19 avril 2005 à 13:03:51 | Re : [Dev C++] disparition hook

erehtnaP

Erf non, rien ne marche, c'est vraiment bizard!!

pourtant pas d'erreur, mais bon j'ai trouvé la solution en compilant la dll avec le compilateur en ligne de commande de Borland,

Merci quand meme


Cette discussion est classée dans : int, wparam, return, lparam, hhk


Répondre à ce message

Sujets en rapport avec ce message

Dll Visual Aide [ par TheMaster ] Salut!j'ai un probleme, j'ai créer un logiciel permettant de visualiser des images.Les images sont stocke en ressource dans un dll.Mais je n'arrive pa 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 probleme dans mon hook clavier [ par youpiyoyo ] je me suis po embeter j'ai pris le code de brunews a ce sujetj'aimerai faire un hook kan on appuie a la fois sur la touche windows et un ctrl...j'ai c Annuler Action Menu en Hookant [ par Zootella ] Hello, j'ai cette procédure hook: LRESULT CALLBACK HookMenuMessage(int nCode, WPARAM wParam, LPARAM lParam) { if(nCode == HC_ACTION) { Hook WH_MOUSE_LL [ par vecchio56 ] Bonjour,J'utilise un hook bas niveau de type WH_MOUSE_LL, et j'ai un problème lorque je cherche a fermer ma fenêtre principale (la souris se bloque). PROBLEME DE CHARGEMENT JPEG DANS UN ECRAN DE VEILLE [ par Batman60 ] bonjourclic droit sur l'exe et puis "tester" le prog fonctionne à merveille mais une fois installé à l'execution de l'ecran de veille les textures jpe 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 Problème de message windows [ par Jbs106 ] Bonjour Bonjour, comme je l'ai précisé dans le titre, je souhaite réaliser une application de dessin, un SKETCHER avec les MFCs, je l'ai réalisé grac 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 Dialog fenetre enfant qui bloque [ par NairodDorian ] Bonjour,Mon probleme est le suivant, j'utilises les resources avec des dialog et je voudrai affiche un dialogue defini par Child dans les proprietes d


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

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 : 1,872 sec (4)

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