Pour les deux premiers debug, c'est apparemment normal, tu n'auras des valeurs que pour tes propres controle, car ils font référence au thead de ton propre programme.
pour le troisième debug il faut faire:
WindowFromPoint_(tpoint\x + tpoint\y<<32)
Si je ne dis pas de bêtise, l'explication est la suivante, pour certaines api window, la structure comme argument doit être passé par valeur et non par adresse or avec PureBasic toutes les structures sont passées par adresses, voilà pourquoi. (Merci a Denis qui m'avait expliqué cela a l'époque).
Prend getforegroundwindow a la place de getactivewindow:
Code : Tout sélectionner
tpoint.POINT
Repeat
Delay(1000)
Debug "------------------"
Debug GetForegroundWindow_()
GetCursorPos_(tpoint)
Debug WindowFromPoint_(tpoint\x + tpoint\y<<32)
ForEver
Pour avoir des infos sur le controle qui possède le focus, tu dois passer par l'API GetGUIThreadInfo (je n'ai pas le temps tout de suite de te faire un exemple)