begin process at 2012 02 10 07:01:42
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

API

 > HOOK FENETRE

HOOK FENETRE


 Information sur la source

Note :
7 / 10 - par 4 personnes
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :API Classé sous :hook, fenetre, API, windows Niveau :Débutant Date de création :26/02/2004 Date de mise à jour :01/11/2007 19:12:55 Vu / téléchargé :7 937 / 1 137

Auteur : LordBob

Ecrire un message privé
Site perso
Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

 Description

voila, c'est un exemple de hook sur la création de fenêtre (et sur les fenetres en général) !!!
comme il n'y en avait pas sur le site (enfin j'en ai pas trouver), bah je me suis dit que ça serait bien d'en mettre un !!!

le ziip contient la DLL necessaire pour le programme, contenant le hook et un programme utilisant la DLL...

Source

  • tout est dans le zip
tout est dans le zip

 Conclusion

sinon, regarder seulement le code de la DLL (que j'ai essayer de commenter certaine partit pour faire une sorte de tutorial !!! un programme d'exemple est fournit, il se sert bien évidement de la DLL, le programme vous avertit lorsqu'une fenêtre va etre réduite ou agrandit...


voila en espèrant que cela aidera des personnes !!!

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   exemple_hook_wnd
    •   App
      •   Release
        • App.exeTélécharger ce fichier [Réservé aux membres club]23 552 octets
        • exemple_hook_wnd.dllTélécharger ce fichier [Réservé aux membres club]40 960 octets
      • App.vcprojTélécharger ce fichier [Réservé aux membres club]3 522 octets
      • dll.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier281 octets
      • exemple_hook_wnd.libTélécharger ce fichier [Réservé aux membres club]2 070 octets
      • main.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier824 octets
      • res.rcTélécharger ce fichier [Réservé aux membres club]Voir ce fichier2 190 octets
      • resource.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier583 octets
    •   Dll
      •   Release
        • exemple_hook_wnd.dllTélécharger ce fichier [Réservé aux membres club]40 960 octets
        • exemple_hook_wnd.libTélécharger ce fichier [Réservé aux membres club]2 070 octets
      • exemple_hook_wnd.vcprojTélécharger ce fichier [Réservé aux membres club]3 585 octets
      • hook.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 537 octets

Télécharger le zip


 Sources du même auteur

Source avec Zip ENREGISTREMEN VIDEO WEBCAM [WIN32]
Source avec Zip LEDMAIL [WIN32]
Source avec Zip MULTICAM - GESTION DE PLUSIEURS WEBCAM
Source avec Zip ALGO BRUTE FORCE
Source avec Zip VIDEOCAPT - CREATION DE VIDEO

 Sources de la même categorie

Source avec Zip WIN32 TLS LENT par dguilmain
Source avec Zip VIDER ELEMENTS DE CORBEILLE WINDOWS7 (WIN64) par BruNews
Source avec Zip Source avec une capture FIND TEXT (WIN64) par BruNews
Source avec Zip DELETE DIRECTORY (WIN64) par BruNews
Source avec Zip ENUM DIRECTORY (WIN64) par BruNews

 Sources en rapport avec celle ci

GESTION DE LE MÉMOIRE UTILISÉE PAR UN PROCESSUS par lilxam
Source avec Zip HOOK DLL - LE HOOK FACILE (POUR VB6) par Renfield
Source avec Zip MDZ WTK par mdelomez
Source avec Zip COMMENT FAIRE DU GRUYÈRE DE VOS FENÊTRES EN API WIN32 par kptn
RÉCUPÉRER, LA VERSION DE WINDOWS par Pamaury

Commentaires et avis

Commentaire de garslouche le 29/02/2004 10:23:46

C joli!!!

Par contre pour auant que je sache il faut très rapidement rendre la main dans les hooks. Or MessageBox bloque toute. Je ne sais pas si c'est vraiment génant mais ça serait surement mieux si tu faisais un log plutot qu'un messagebox

Commentaire de LordBob le 29/02/2004 13:17:43

ouais je suis d'accord avec toi, mais bon c'était surtout pour donner un exemple et je savais pas trop quoi mettre !!! désoler si je donne des mauvais habitude !!!

Commentaire de TuXAveRy le 27/07/2004 19:10:22

génial, merci :)

Commentaire de mrbrice le 24/09/2007 14:04:53

Ton code est très bien, et très compréhensible...
Mais j'ai des plusieurs soucis :

- Je souhaite récupéré l'évènement "Fenêtre active". Je décommente la partie de code prévue à cet effet, mais le souci, c'est que lorsque ladite fenêtre est activée, je me prends 36 messageBox pour une seule activation. Comment çà se fait? (pour info, j'ai modifié ton prog pour ne récupérer les messages que d'une seule fenêtre en particulier)

- De plus, j'aimerais que mon appli qui utilise ta dll soit capable de récupérer l'évènement. Et je n'arrive pas à communiquer entre la proc de ta dll qui récupère le message et mon prog.
Aurais tu une idée?

- Enfin, une question : est on obligé de faire une dll pour faire du hook? As tu des liens sur des manuels d'utilisation du hook en C++.

Voilà, c'est tout.
Merci d'avance

Commentaire de bonapart002 le 16/03/2009 19:27:20

merci c'est un très bon exemple .
ça marche bien  avec HCBT_MINMAX et HCBT_MOVESIZE ....
mais dans le cas de  HCBT_CREATEWND il m'affiche plusieurs MessageBox  sans s'arrêter(car a chaque création d'un  fenêtre de MessageBox il affiche un autre fenêtre MessageBox :boucle infine)
-mon problème :récupérer le nom de la fenêtre qui sera crée et tester  sur se nom .
par exemple si la fenêtre qui sera crée ayant comme nom "mafenetre" j'affiche un MessageBox et dans les autre cas ne rien faire .

je récupère le nom de la fenêtre comme ça
-------------------------
if(nCode==HCBT_CREATEWND)
{
   CHAR szName[12];
   GetWindowText((HWND)wParam,szName,12);
   if(StrCmp(szName,"mafenetre"))
   {
      MessageBox(0,"mafenetre ","mafenetre ",0);
      
   }
else
{// rien a faire }
}
------------------------
mais il ne peut pas récupérer le nom de la fenêtre avant sa création pour tester sur lui.

svp tu peut m'aider ?et je vous remerci bcp.

Commentaire de BruNews le 16/03/2009 20:01:23 administrateur CS

PAS DE MessageBox dans un hook !!!
Ecris dans un fichier et tu liras ensuite.

Si c'est juste pour empecher un processus GUI de demarrer, teste sur le nom du processus (nom exe par GetModuleFilename) et si correspond, tu PostMessage un WM_DESTROY.

Commentaire de bonapart002 le 16/03/2009 20:30:04

merci te ton explication BruNews.
tu peut me détailler ,par un simple exemple , comment  utiliser GetModuleFilename puis poster un message  à WM_DESTROY ?
et je remerci bcp .

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Mouvement d une fenetre sous Windows API [ par nej92 ] Bonjour.J ai une fenetre sous windows API avec une partie qui est transparente et une autre ou je fais un dessin.Je decide ensuite de bouger cette fen rafraichissement d'une fenetre en API windows [ par poulpixx ] salut a tousJ'aimerai savoir comment on peut faire pour demander a une fenetre de rafraichir sa zone client en API windows C++.par exemple quand on y API windows (copier le contenu d'une fenetre vers une autre fenetre) [ par rivaldinho ] Bonjour, j'utilise la fonction printwindow pour copier le contenu en une image d'une fenetre qlconque et je voudrai enregistrer cette image en bitmap Bot Windows Live Messenger [ par ssx2 ] Bonjour, J'aimerai créer un bot msn trés simple, mais voila...je voudrai savoir comment écrire DANS une fenetre msn !  (fenetre msn de discution)....v Comment faire un bel interface sous Evcc++ [ par Fabricio19 ] Bonjour à tous, je dois developper un gros programme pour un système embarqué de la marque anders. - UMR-5 - processeur INTEL PXA 270 312MHz - OS WIND Fenetre openGL avec Windows Forms !! [ par narutokun66 ] Bonjour, voila je travail sur un projet avec l'OpenGL sous Visual C++ 2008 et maintenant je veux construire une interface , j'ai fait une recherche e [API windows] Redimmensionner une fenêtre [ par lucelabrute ] Bonjour, j'aimerais qu'aprés selection dans une combo box, la fenêtre s'agrandisse ou se reduise automatiquement, j'ai lu un peu et j'ai trouvé SetWin aide svp api windows [ par yahyamr ] bonjour je suis un étudiant et je faire en projet en api Windows en appliquant le langage C. mon projet est la gestion de repertoire telephone je


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

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

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