GetWindowRect erreur

Signaler
Messages postés
135
Date d'inscription
mardi 7 septembre 2004
Statut
Membre
Dernière intervention
10 mai 2012
-
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019
-
bonjour,

pour gérer des évenements mousein et out je voudrais utiliser l'API GetWindowRect et GetCursorPos mais j'ai l'erreur suivante :

Tentative de lecture ou d'écriture de mémoire protégée

qulqu'un à une idée...

Merci

reno
A voir également:

4 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Salut
Manque d'info.
Instructions ? c'est peut-être la méthode qui n'est pas bonne
Variables dimensionnées proprement ?
Quel Windows ?
Un petit coup d'oeil sur les exemples de cette bibliothèque d'APIs --> http://logiciel.codes-sources.com/logiciels/API-Guide-197.aspx

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
clair que sans un peu du code que tu as tenté de faire passer...
Messages postés
135
Date d'inscription
mardi 7 septembre 2004
Statut
Membre
Dernière intervention
10 mai 2012

Merci pour API guide

mais en fait j'ai contourné le probléme. Mon usercontrol n'est jamais seul mais dans une collection affichée sous forme de liste sur un panel donc si la souris passe sur un des controls d'un usercontrol, ce dernier passe en "hot" (image de fond différente) et donc tous les autre passe en normal....

mais j'aurais quand m^me bien aimé savoir comment déterminer où est la souris de façon globale sur l'écran....

reno
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019

Bon sa date un peut mais mieux vaux tard que jamais
Ton problème viens de la déclaration de GetWindowRect. Le paramètre lpRect doit être déclarer en byref et non en byval
VB6
    Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, ByRef lpRect As RECT) As Long

    Private Structure RECT
        Public Left As Long
        Public Top As Long
        Public Right As Long
        Public Bottom As Long
    End Structure


VB.NET
    Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Integer, ByRef lpRect As RECT) As Integer

    Private Structure RECT
        Public Left As Integer
        Public Top As Integer
        Public Right As Integer
        Public Bottom As Integer
    End Structure


Amicalement
1000 recherches sur Google = 1Km de voiture en CO² (réfuté par Google )
1000 recherches sur Forestle = 100 m² de forêt tropicale sauvé .
Surfez écolo