L'opération arithmétique a provoqué un dépassement de capacité. [Résolu]

Messages postés
301
Date d'inscription
mercredi 22 septembre 2010
Dernière intervention
27 février 2018
- - Dernière réponse : ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
- 2 nov. 2013 à 15:00
Bonjour,
J'ai téléchargé cette source (http://codes-sources.commentcamarche.net/forum/affich-7049352-keylogger-vb-net-2008-v9-class-hook-pour-clavier-fr-et-vista) qui marche bien sous le Framework 3.5 mais lorsque je compile au Framework 4.5, j'ai l'erreur : "L'opération arithmétique a provoqué un dépassement de capacité." à la ligne :
        KeyboardHandle = SetWindowsHookEx(13, callback, Process.GetCurrentProcess.MainModule.BaseAddress, 0)


Est-ce que quelqu'un connais la raison de ce problème ?
Merci.
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
1
Merci
Salut,

■ As-tu modifié le projet existant ?
■ De quelle façon as-tu changé de framework ?
   ► par les options du projet existant ?
   ► par copier-coller dans un projet (framework déjà en place) ?

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 104 internautes ce mois-ci

CLeBeR_FR
Messages postés
301
Date d'inscription
mercredi 22 septembre 2010
Dernière intervention
27 février 2018
-
Salut banana,
je n'ai rien modifié dans le projet, j'ai juste changé le Framework via les propriétés du projet, Framework cible.
Commenter la réponse de Utilisateur anonyme
1
Merci
Suite,

Ben, par exemple, tout ce qui est (Byte, integer, long), tu le déclares en DOUBLE pour voir si ça passe :

Dim v As Double = 0.0


Cordialement, Joe.

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 104 internautes ce mois-ci

CLeBeR_FR
Messages postés
301
Date d'inscription
mercredi 22 septembre 2010
Dernière intervention
27 février 2018
-
J'ai remplacé le type de variable et ça n'a rien donné.
Commenter la réponse de ehjoe
1
Merci
On peut lire ici qu'il faudrait remplacer le paramètre Process.GetCurrentProcess.MainModule.BaseAddress par IntPtr.Zero pour XP.
A voir...

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 104 internautes ce mois-ci

CLeBeR_FR
Messages postés
301
Date d'inscription
mercredi 22 septembre 2010
Dernière intervention
27 février 2018
-
Merci beaucoup banana j'ai fais ce que tu as dis et ça fonctionne :D Une fois de plus tu arrive à résoudre mon problème ahah !
Par contre est-ce que je pourrais avoir des explications sur la différence entre ces deux paramètres ?
Commenter la réponse de Utilisateur anonyme
1
Merci
Par contre est-ce que je pourrais avoir des explications sur la différence entre ces deux paramètres ?
Il y a forcément une explication mais je ne pourrai te la donner. Essaye de potasser la documentation de cet API sur msdn.

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 104 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
1
Merci
http://www.pinvoke.net/default.aspx/user32.setwindowshookex

En gardant toujours à l'esprit que le sous-classement est un acte complexe, délicat, non exempt de génération d'erreur fatale à la moindre erreur de sous-classement ou d'interruption.
L'utilisation de sous-classement est totalement déconseillée à tout développeur qui ne maîtrise pas parfaitement son propre langage (d'abord) et les incidences de l'interception de messages windows (ensuite).
Voilà ...

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 104 internautes ce mois-ci

Commenter la réponse de ucfoutu
0
Merci
Bonjour,

Déclare les variables numériques plus grandes (int32, int64, double, long)...

Cordialement, Joe.
CLeBeR_FR
Messages postés
301
Date d'inscription
mercredi 22 septembre 2010
Dernière intervention
27 février 2018
-
Bonjour,
je ne comprends pas quelles variables dois-je modifier. Pourrais-je avoir des explications supplémentaires ?
Merci.
Commenter la réponse de ehjoe

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.