MouseGetPos Décalé
Posté : sam. 01 avr. 2017 19:52
Bonjour,
Voilà j'aimerais faire un petit utilitaire qui m'indiquerais la position X et Y de mon curseur ainsi que la couleur du pixel survolé.
J'ai donc commencé et j'ai écris ceci :
Mais le problème c'est que mon écran a une résolution de 1920x1080 et que quand je vais tout en bas à droite de mon écran les coordonnés affiché sont 1535 et 863... En plus de cela la couleur du pixel n'est jamais bonne et est toujours décalé.
Je viens donc vers vous pour savoir si chez vous c'est pareil, et si vous savez pourquoi ?
Merci d'avance
Voilà j'aimerais faire un petit utilitaire qui m'indiquerais la position X et Y de mon curseur ainsi que la couleur du pixel survolé.
J'ai donc commencé et j'ai écris ceci :
#include <MsgBoxConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 463, 223, 443, 129)
$Console = GUICtrlCreateEdit("", 8, 16, 209, 193, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_READONLY,$ES_WANTRETURN), $WS_EX_STATICEDGE)
GUICtrlSetData(-1, "Console")
$PosX = GUICtrlCreateLabel("Coordonné en X :", 224, 16, 87, 17)
$PosY = GUICtrlCreateLabel("Coordonné en Y :", 224, 48, 87, 17)
$ColorPixel = GUICtrlCreateLabel("Couleur du pixel :", 224, 80, 85, 17)
$InX = GUICtrlCreateInput("0", 320, 16, 105, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER,$ES_READONLY,$ES_NUMBER), $WS_EX_STATICEDGE)
$InY = GUICtrlCreateInput("0", 320, 48, 105, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER,$ES_READONLY,$ES_NUMBER), $WS_EX_STATICEDGE)
$InColorPixel = GUICtrlCreateInput("ffff", 320, 80, 105, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER,$ES_READONLY), $WS_EX_STATICEDGE)
$ColorBox = GUICtrlCreateEdit("", 224, 112, 113, 97, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_READONLY,$ES_WANTRETURN), $WS_EX_STATICEDGE)
GUICtrlSetData(-1, "")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
Local $aPos = MouseGetPos()
Local $iColor = PixelGetColor($aPos[0], $aPos[1])
GUICtrlSetData($InX, $aPos[0])
GUICtrlSetData($InY, $aPos[1])
GUICtrlSetData($InColorPixel, Hex($icolor, 6))
GUICtrlSetBkColor($ColorBox, $icolor)
WEnd
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 463, 223, 443, 129)
$Console = GUICtrlCreateEdit("", 8, 16, 209, 193, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_READONLY,$ES_WANTRETURN), $WS_EX_STATICEDGE)
GUICtrlSetData(-1, "Console")
$PosX = GUICtrlCreateLabel("Coordonné en X :", 224, 16, 87, 17)
$PosY = GUICtrlCreateLabel("Coordonné en Y :", 224, 48, 87, 17)
$ColorPixel = GUICtrlCreateLabel("Couleur du pixel :", 224, 80, 85, 17)
$InX = GUICtrlCreateInput("0", 320, 16, 105, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER,$ES_READONLY,$ES_NUMBER), $WS_EX_STATICEDGE)
$InY = GUICtrlCreateInput("0", 320, 48, 105, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER,$ES_READONLY,$ES_NUMBER), $WS_EX_STATICEDGE)
$InColorPixel = GUICtrlCreateInput("ffff", 320, 80, 105, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER,$ES_READONLY), $WS_EX_STATICEDGE)
$ColorBox = GUICtrlCreateEdit("", 224, 112, 113, 97, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_READONLY,$ES_WANTRETURN), $WS_EX_STATICEDGE)
GUICtrlSetData(-1, "")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
Local $aPos = MouseGetPos()
Local $iColor = PixelGetColor($aPos[0], $aPos[1])
GUICtrlSetData($InX, $aPos[0])
GUICtrlSetData($InY, $aPos[1])
GUICtrlSetData($InColorPixel, Hex($icolor, 6))
GUICtrlSetBkColor($ColorBox, $icolor)
WEnd
Je viens donc vers vous pour savoir si chez vous c'est pareil, et si vous savez pourquoi ?
Merci d'avance