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

C

 > 

Windows

 > 

Autre

 > 

hook souris


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

hook souris

vendredi 23 novembre 2007 à 18:53:02 | hook souris

ndubien

Membre Club

Bonjour,

Je cherhe à faire un hook sur souris qui envoi à une fenêtre précédement déclarée (HWND hwndPrinc) tous les messages reçus...
Je veux que ma fenêtre (HWND hwndPrinc) sâche tous les mouvements et actions de ma souris et celà où qu'elle soit...
Mais, je suis bloqué sur le hook et surtout sur comment faire pour que ma fenêtre (HWND hwndPrinc) reçoivent un message dés que la souris bouge...
J'ai tenté le SendMessage mais pas avec un grand succès, ma fenêtre reçoit un message seulement lorsque je la survole...

Je pense que l'on va me dire de regarder les sources et questions sur codessources, c'est chose faite...

Merci d'avance et à bientôt...


Nico

vendredi 23 novembre 2007 à 19:27:59 | HOOK Souris : quelques précisions!

ndubien

Membre Club

Mon code actuel:
LRESULT CALLBACK fxHookSouris (int nCode, WPARAM wParam, LPARAM lParam) {
    if ( nCode >= 0 ) {
         MOUSEHOOKSTRUCT ms = *( (MOUSEHOOKSTRUCT *)lParam );
         POINT position = ms.pt;
         SendMessage( hwndPrinc, wParam, 0, MAKELPARAM(position.x,position.y) );
         return 1;
    }
 return CallNextHookEx( hookSouris, nCode, wParam, lParam);
}

Ses problèmes, hwndPrinc ne reçoit les messages que lorsque que la souris se trouve au dessus de lui... Donc pas toujours, sinon, le reste est bien les autres fenêtres ne reçoivent aucunes informations quant à la souris et sa position...
Quelqu'un saurait-t'il comment faire pour que hwndPrinc reçoive des messages y compris lorsque la souris ne la survole pas?
Merci d'avance...

vendredi 23 novembre 2007 à 21:58:53 | Re : hook souris

Neo_Fr

Membre Club
Salut, Un exemple a adapter a tes besoins: http://www.cppfrance.com/codes/HOOK-SOURIS-SUR-TASKBAR-WIN32_44378.aspx Neo_Fr
samedi 24 novembre 2007 à 14:08:53 | Re : hook souris

ndubien

Membre Club

Merci mais je l'avis déjà regardé,

Mon problème est:
LRESULT CALLBACK fxHookSouris (int nCode, WPARAM wParam, LPARAM lParam) {
    if ( nCode >= 0 ) {
         MOUSEHOOKSTRUCT ms = *( (MOUSEHOOKSTRUCT *)lParam );
         POINT position = ms.pt;
         SendMessage( hwndPrinc, wParam, 0, MAKELPARAM(position.x,position.y) );
         return 1;
    }
 return CallNextHookEx( hookSouris, nCode, wParam, lParam);
}

que SendMessage( hwndPrinc, wParam, 0, MAKELPARAM(position.x,position.y) ); n'envoi un mesage à hwndPrinc seulement lorsque la souris survole ma fenêtre (enfin une partie visible de la fenêtre)...

Merci quand même...
A+

samedi 24 novembre 2007 à 17:05:26 | Re : hook souris

ndubien

Membre Club
Réponse acceptée !

Bonjour,


Je viens de trouver un moyen pour que mon hook souris fonctionne comme je le souhaitais:
LRESULT CALLBACK fxHookSouris (int nCode, WPARAM wParam, LPARAM lParam) {
    if ( nCode >= 0 ) {
         MOUSEHOOKSTRUCT ms = *( (MOUSEHOOKSTRUCT *)lParam );
         POINT position = ms.pt;
         if( position.x>=0 && position.x<= cxScreen && position.y>=0 && position.y <= cyScreen ) SendMessage( hwndPrinc, wParam, 0, MAKELPARAM(position.x,position.y) );
         if( wParam == WM_LBUTTONDOWN || \ //Pour empêcher que les autres fenêtres reçoivent des informations quant aux clics de la souris
             wParam == WM_LBUTTONUP || \
             wParam == WM_RBUTTONDOWN || \
             wParam == WM_RBUTTONUP ) return 1;
         return 0;
    }
 return CallNextHookEx( hookSouris, nCode, wParam, lParam);
}

il ne fallait pas que j'utilise WH_MOUSE
mais WH_MOUSE_LL

Merci à tous...
A bientôt...


Nico



Cette discussion est classée dans : fenêtre, hwnd, souris, hook, hwndprinc


Répondre à ce message

Sujets en rapport avec ce message

gestion de la souris dans une fenêtre OpenGL [ par philmus ] salut, je commence à écrire des petits pgs OpenGL; maintenant, je doit gérer l'entrée (clavier et souris) pour interagir avec l'utilisateur. Le pb Hook sur fenêtre "Enregistrer sous" [ par annplop ] Bonjour,je souhaite intercepter une fenêtre "enregistrer sous", et remplir les différents champs:"Enregistrer dans""Nom de l'objet""type"Est-ce quelqu Déplacer une fenêtre sans bord [ par garslouche ] Bonjour,je voudrais savoir comment faire pour permettre aux utilisateurs de déplacer une fenêtre sans bord (comme dans Winamp par exemple)J'ai bien es Colorier un static : HEeeeeeeelp !!! [ par sprintjeffC ] salut @ tousje me mets a la programmation windows en C/C++ (pas VC++ merci ... quitte à faire du microsoft je préfère VB ;-). Je démarrai pas mal et t Hook sur création de fenêtre du système [ par r144 ] Bonjour, voila j'ai ecrit un petit prog avec un dll en prenant appui sur le source de BruNews(que je remercie) qui capture la création d'une fenêtre d pb avec le plein écran de DirectX que je veux enlever [ par Diabolus ] Bonjour à tous !Je souhaiterai créer une fenêtre en mode normal et tout ce que j'arrive à faire c'est du plein écran. J'aimerai enlever le plein écran cacher une fenêtre lorsqu'elle s'affiche [ par CyberP ] Est-ce normal que ceci :BOOL CALLBACK MainProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch(message) { case WM_INITDIALOG:{ Show Récuperer un hwnd de fenêtre [ par andros ] Bonjour,Je n'ai pas trouvé la réponse sur le forum au pb que voici :(ss Bor C++6) -d'une part j'ai un programme éxécutable en mode console Dos.-d'autr Problème de hook sur fenêtre enfant... [ par platon179 ] Bonjour, j'ai un souci concernant les hooks sur les fenêtres enfant. En fait, ca marche très bien sur les fenêtres parent, mais il semble que la procé Pointeur sur une fenêtre [ par dieu2028 ] Je suis en train de créer une application SDI et j'ai créé une barre d'outils flottante dans laquelle est insérer des onglets. Je voudrais pouvoir lor


Nos sponsors


Sondage...

Comparez les prix

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 : 0,858 sec (3)

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