Récupérer WM_CLOSE

snpier wolf Messages postés 216 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 30 mai 2011 - 5 juin 2008 à 03:16
snpier wolf Messages postés 216 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 30 mai 2011 - 5 juin 2008 à 12:20
bonjours à tous,
je cherche le moyen de récupérer le WM_CLOSE d'une fenêtre.
J'arrive à récupéer le hendl avec GetForegroundWindow() mais je ne sais pas
comment savoir si la personne à clicker sur la croix.
Savez - vous quelle commande utiliser ?

8 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
5 juin 2008 à 10:01
L'interception de messages externes passe par un hook.

ciao...
BruNews, MVP VC++
0
snpier wolf Messages postés 216 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 30 mai 2011
5 juin 2008 à 10:20
j'ais trouver ceci :

Logmsg(int code,WPARAM wParam,LPARAM lParam)

{
 UINT toStop = ((MSG *)lParam)->message;
if ((toStop WM_CLOSE) || (toStop WM_WINDOWPOSCHANGING))

{

char toaff[1024];

 char wndName[1024];

GetWindowText( ((MSG *)lParam)->hwnd,wndName,1024);

switch(toStop)

{

case WM_CLOSE:

strcpy(toaff,"G0ss3Yn ne veut pas fermer :\n");

break;

case WM_WINDOWPOSCHANGING:

strcpy(toaff,"G0ss3Yn ne veut pas bouger :\n");

break;

}

strcat(toaff,wndName);

MessageBox(NULL,toaff,"hACKED !",MB_OK | MB_ICONINFORMATION);

((MSG *)lParam)->message = WM_NULL;

}

}

mais je ne comprends pas comment sais t'il sur quelle fenêtre agire ?
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
5 juin 2008 à 10:33
Si tu vises un HWND particulier, passe le en param de la fonction d'interception qui lance le hook dans ta DLL.
Voir mes sources sur les hook.

ciao...
BruNews, MVP VC++
0
snpier wolf Messages postés 216 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 30 mai 2011
5 juin 2008 à 10:57
ok je suis sur une de tes source et je ne comprends pas quand tu utilise MsgFilterProc
source->http://www.cppfrance.com/codes/HOOK-ENTER-SUR-DIALOGBOX-WIN32_11007.aspx
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
5 juin 2008 à 11:11
Regarde plutot ici:
http://www.cppfrance.com/code.aspx?ID=25998
la fonction de lancement prend un HWND en param.

ciao...
BruNews, MVP VC++
0
snpier wolf Messages postés 216 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 30 mai 2011
5 juin 2008 à 11:23
je crois avoir compris pour moi dans start() je met le hwnd de la fenêtre pointé par GetForegroundWindow()  et en me basen sur ta source sa doi marcher merci
0
snpier wolf Messages postés 216 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 30 mai 2011
5 juin 2008 à 12:04
dis pour quoi me retourne t'il ça   [Linker error] undefined reference to [mailto:`Start@4' `Start@4']  j'ais pourtent pas toucher a Start...
0
snpier wolf Messages postés 216 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 30 mai 2011
5 juin 2008 à 12:20
ok j'ais compris pour le Start() mais sa ne marche pas il ne fait pas ce que j'ais mit dans le wheelProc
et je ne comprends pas pourquoi
0
Rejoignez-nous