Handle control sous la souris [Résolu]

Signaler
Messages postés
96
Date d'inscription
mercredi 26 mai 2010
Statut
Membre
Dernière intervention
27 mai 2010
-
Messages postés
100
Date d'inscription
jeudi 3 mars 2005
Statut
Membre
Dernière intervention
24 mai 2013
-
Salut!
Je code une appli utilisant les api.

Je cherche un moyen de récuperer le handle du control (meme si celui ci n'est pas dans mon appli)se trouvant sous la souris.
ca j'y arrive !!! mais pas lorsque le control est inactif (enable=false).

Merci d'avance

3 réponses

Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
32
Salut, dis moi si ça marche bien :

[ DllImport( "user32.dll" ) ]
private static extern IntPtr WindowFromPoint( Point p );


[ DllImport( "user32.dll" ) ]
private static extern IntPtr ChildWindowFromPoint( IntPtr hWndParent, Point p );


[ DllImport( "user32.dll", SetLastError = true ) ]
private static extern int MapWindowPoints( IntPtr hWndFrom, IntPtr hWndTo, ref Point lpPoints, uint cPoints );


public IntPtr GetWindowFromPoint( Point p )
{
    IntPtr hWndParent = WindowFromPoint( p );


    if ( hWndParent != IntPtr.Zero )
    {
        MapWindowPoints( IntPtr.Zero, hWndParent, ref p, 1 );
        IntPtr hWndChild = ChildWindowFromPoint( hWndParent, p );


        if ( hWndChild != IntPtr.Zero )
            return hWndChild;
    }


    return hWndParent;
}
Messages postés
96
Date d'inscription
mercredi 26 mai 2010
Statut
Membre
Dernière intervention
27 mai 2010

De retour de week end j'ai teste cela fonctionne a merveille merci.
Messages postés
100
Date d'inscription
jeudi 3 mars 2005
Statut
Membre
Dernière intervention
24 mai 2013

salut
tu pourrais m'envoyer ton sources
merci

Jean louis