begin process at 2008 07 06 00:14:48
1 205 401 membres
368 nouveaux aujourd'hui
14 119 membres club

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 : problème avec le sous classement [ Archives / API ] (LaPatoshe)

problème avec le sous classement le 16/12/2004 22:50:51

LaPatoshe
Bonjour, j'essaie d'effectuer un sous classement d'une fenêtre de programme de la calculatrice windows en usant de fonctions API.
En premier lieu, je récupère le handle de la calculatrice avec FindWindow(0, "Calculatrice");
Puis, je détourne sa procédure d'évènement en faisant :
SetWindowLong(hWnd, GWL_WNDPROC, NouvelleProc);

Le problème, c'est que lors de la compilation du programme, j'obtiens le message d'erreur:
'SetWindowLongA' : cannot convert parameter 3 from 'int (__stdcall *)(struct HWND__ *,unsigned int,unsigned int,long)' to 'long'

Quelqu'un peut il m'expliquer ce qui ne va pas ?
Merci d'avance

LaPatoshe

Re : problème avec le sous classement le 16/12/2004 23:11:22

jul39dole
Il faut surement "caster" en LONG le troisième paramètre de la manière : SetWindowLong(hWnd, GWL_WNDPROC, (LONG)NouvelleProc);

Re : problème avec le sous classement le 16/12/2004 23:23:31

BruNews
(Admin CS)
faut effectivement caster.
Mais alors ta proc de sous classement, ou se trouve-t-elle ? si c'est dans TON espace memoire, tu vas simplement planter la calculatrice, l'adesse de ta procedure sera totalement invalide dans l'espace memoire de la calculatrice.

ciao...
BruNews, MVP VC++

Re : problème avec le sous classement le 17/12/2004 22:31:39

LaPatoshe
Merci, la compil fonctionne. ependant, mon prog quant à lui aussi basic soit il ne fonctionne pas. C'est peut être à cause de l'espace mémoire comme a commencé à en parler BruNews. En fait, je cherche à créer un évènement dès que l'on appuie sur une des touches de la calculatrice. Pour cela, je place des etiquettes d'évènement WM_COMMAND et WM_LBUTTONDOWN dans ma nouvelle procédure. seulement, ça ne fonctionne pas. Même sans dire à ma nouvelle fonction de poursuivre en appelant la fonction normale de la calculatrice, la calculatrice fonctionne comme si aucun détournement de procédure n'avait eu lieu. Quelle solution existe ?

LaPatoshe

Re : problème avec le sous classement le 17/12/2004 22:44:29

BruNews
(Admin CS)
Faut entrer dans son espace memoire pour interferer sans la planter.
2 techniques principales: CreateRemoteThread() ou injection de code grace a un hook.
Exemple avec hook ici:
http://www.cppfrance.com/code.aspx?ID=28181

ciao...
BruNews, MVP VC++

Re : problème avec le sous classement le 17/12/2004 23:01:23

LaPatoshe
Merci beaucoup, je vais tenter ces deux possibilités.
LaPatoshe


Classé sous : problème, programme, int, classement, calculatrice

Participer à cet échange

Pub



Appels d'offres

Plugin Dialer outlook
Budget : 2 000€
Travail graphique- ill...
Budget : 1 000€
creation de marque et ...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Téléchargements

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

Boutique

Boutique de goodies CodeS-SourceS