GetMessage d'un HWND

kiki67100 Messages postés 313 Date d'inscription samedi 6 mai 2006 Statut Membre Dernière intervention 10 août 2013 - 1 mai 2007 à 16:22
kiki67100 Messages postés 313 Date d'inscription samedi 6 mai 2006 Statut Membre Dernière intervention 10 août 2013 - 1 mai 2007 à 22:09
Bonjour tous

J'aimerais recupere les message d'une api dabord je recupere le HWND via HWND API  = FindWindow(0,"API");  Puis j'aimerais recuperer les message style WM_QUIT via GetMessage Exemple Mon API me revoie Une MessageBox WM_QUIT et executer
Pouriez-vous maidez svp ?

Kevin

16 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
1 mai 2007 à 17:35
Fais un hook > SetWindowsHookEx > voir MSDN et Richter.
Nombreux exemples dans mes sources.

ciao...
BruNews, MVP VC++
0
kiki67100 Messages postés 313 Date d'inscription samedi 6 mai 2006 Statut Membre Dernière intervention 10 août 2013 1
1 mai 2007 à 18:47
Ok merci je vais allez avoir tes source je te donne des nouvelle


Kevin
0
kiki67100 Messages postés 313 Date d'inscription samedi 6 mai 2006 Statut Membre Dernière intervention 10 août 2013 1
1 mai 2007 à 18:54
Jai trouvé un code dans une de tais source

<li>LRESULT CALLBACK AppWndProc(HWND hwnd, UINT mssg, WPARAM wParam, LPARAM lParam)
</li><li>{
</li><li>  switch(mssg) {
</li><li>    case WM_CREATE:
</li><li>      hed1 = CreateWindow(szEDIT, 0, WS_CHILD | WS_VISIBLE | WS_BORDER,
</li><li>        10, 10, 300, 20, hwnd, (HMENU) 1000, hinst, 0);
</li><li>      hed2 = CreateWindow(szEDIT, 0, WS_CHILD | WS_VISIBLE | WS_BORDER,
</li><li>        10, 60, 300, 20, hwnd, (HMENU) 1001, hinst, 0);
</li><li>      hed3 = CreateWindow(szEDIT, 0, WS_CHILD | WS_VISIBLE | WS_BORDER,
</li><li>        10, 110, 300, 20, hwnd, (HMENU) 1002, hinst, 0);
</li><li>      hhk = SetWindowsHookEx(WH_GETMESSAGE, GetMsgProc, 0, GetCurrentThreadId());
</li><li>      return 0;
</li><li>    case WM_SETFOCUS:
</li><li>      SetFocus(hed1); return 0;
</li><li>    case WM_DESTROY:
</li><li>      if(hhk) UnhookWindowsHookEx(hhk);
</li><li>      PostQuitMessage(0);
</li><li>      return 0;
</li><li>  }
</li><li>  return DefWindowProc(hwnd, mssg, wParam, lParam);
</li><li>}
</li>Je suis vraiment debutant jaimerais bien que tu mexplique comment sa marche esque se le bon code?

Kevin
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
1 mai 2007 à 19:02
Vu que tu fais un FindWindow(), je suppose que c'est pour hooker les messages d'un autre processus.
Faudra donc que le hook se trouve dans une dll pour que le system en mappe une copie dans chaque processus.
Prends un autre exemple avec dll.
Faut pas hésiter à lire Richter qui explique tout ceci en détails:
http://brunews.com/brunews/download/JR4.zip
http://brunews.com/brunews/download/JR4Sources.zip

ciao...
BruNews, MVP VC++
0

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

Posez votre question
kiki67100 Messages postés 313 Date d'inscription samedi 6 mai 2006 Statut Membre Dernière intervention 10 août 2013 1
1 mai 2007 à 19:10
Ok merci je vais lire le doc se soir je n'est jamais fait de DLL mais il aurait pas un moyen plus simple faire sela?
avec un GetMessage sa ne peut pas marche ?

Kevin
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
1 mai 2007 à 19:18
GetMessage lit les messages de TON processus.

ciao...
BruNews, MVP VC++
0
kiki67100 Messages postés 313 Date d'inscription samedi 6 mai 2006 Statut Membre Dernière intervention 10 août 2013 1
1 mai 2007 à 19:24
OK merci mais aurait t'il un autre moyen sa faire de dll et avec PeekMessage? car je n'est jamais fait de dll je ne sais pas comment mis prendre

Kevin
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
1 mai 2007 à 19:33
PeekMessage idem.

Les processus sont des espaces mémoire séparés, pour y lire ou écrire il faut d'abord y entrer.
Soit tu fais un hook, soit c'est CreateRemoteThread.

ciao...
BruNews, MVP VC++
0
kiki67100 Messages postés 313 Date d'inscription samedi 6 mai 2006 Statut Membre Dernière intervention 10 août 2013 1
1 mai 2007 à 19:42
ok merci Pourais tu me montrer un exemple? pour intercepter les message la solution la plus simple possible que je comprenne le code

Kevin
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
1 mai 2007 à 19:58
Désolé mais il faut adapter, j'en ai déjà fait beaucoup sur ce sujet.

ciao...
BruNews, MVP VC++
0
kiki67100 Messages postés 313 Date d'inscription samedi 6 mai 2006 Statut Membre Dernière intervention 10 août 2013 1
1 mai 2007 à 20:11
OK pourais tu me donné les URL et merci beaucoup pour ton aide
une petit question comment fusionné deux char* exemple
char test[50]="test"; char test[50]="lereste"; je voudrais que sa fass testlereste
Kevin
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
1 mai 2007 à 20:20
Il te manque les bases du C, indispensable avant de songer à de la prog system.
strcpy
strcat

Les hooks:
HOOK SYSTEM SUR WM_MOUSEWHEEL (WIN32)
http://www.cppfrance.com/code.aspx?ID=25998
DLL HOOK EN RESSOURCE BINAIRE DU PROG (WIN32)
http://www.cppfrance.com/code.aspx?id=25450
HOOK F11 SUR IE (WIN32)
http://www.cppfrance.com/code.aspx?id=18202
HOOK CLAVIER
http://www.cppfrance.com/code.aspx?id=17818
LIMITE LE NBR DE FENETRES IE V2 (WIN32)
http://www.cppfrance.com/code.aspx?id=17387
LIMITE LE NBR DE FENETRES INTERNET EXPLORER (WIN32)
http://www.cppfrance.com/code.aspx?id=11059
NO TASK MANAGER (WIN32)
http://www.cppfrance.com/code.aspx?id=11186
HOOK DE ENTER SUR DIALOGBOX (WIN32)
http://www.cppfrance.com/code.aspx?id=11007
HOOK SUR FENETRE (WIN32)
http://www.cppfrance.com/code.aspx?id=10997
AJOUTER UN MENU A NOTEPAD (WIN32)
http://www.cppfrance.com/code.aspx?ID=28181

ciao...
BruNews, MVP VC++
0
kiki67100 Messages postés 313 Date d'inscription samedi 6 mai 2006 Statut Membre Dernière intervention 10 août 2013 1
1 mai 2007 à 20:57
Je vais regardé sa et je te donne des nouvelle et merci pour tout BruNews

Kevin
0
kiki67100 Messages postés 313 Date d'inscription samedi 6 mai 2006 Statut Membre Dernière intervention 10 août 2013 1
1 mai 2007 à 20:59
sur AJOUTER UN MENU A NOTEPAD (WIN32)
http://www.cppfrance.com/code.aspx?ID=28181 je vois pas la source ni de zip
comment sa se fait?

Kevin
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
1 mai 2007 à 21:26
ah oui merci, encore une source qui a morflé au dernier tranfert sur Sql Server 2005.
Je remets de suite.

ciao...
BruNews, MVP VC++
0
kiki67100 Messages postés 313 Date d'inscription samedi 6 mai 2006 Statut Membre Dernière intervention 10 août 2013 1
1 mai 2007 à 22:09
voila merci jai vue la source mais je ses pas comment faire les exploiter pourez-tu me faire un exemple de hook qui untercepte les message style WM_QUIT STP

Kevin
0
Rejoignez-nous