Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : [Dev C++] disparition hook [ Archives / API ] (erehtnaP)

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é 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 SysTreeView - au secours [ par Y0ch ] Bonsoir,Je cherche désespérément a comprendre comment initialiser et faire fonctionner un contrôle SysTreeView, mais sans résultat.Peut-être un bête p interface en c [ par Med2009 ] salut je suis Mohamed un petit développeur en c et qui désire etre le plus grand développeur dans le monde...


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Appels d'offres

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,281 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.