Page 1 sur 1

[C] Window Info Tool : mauvaise couleur de pixel retournée

Posté : ven. 17 juin 2016 16:39
par astariul
Bonjour,

C'est mon premier post ici, j'ai cherché auparavant sur Google et sur le forum, mais je n'ai rien trouvé de correspondant.
Voilà mon problème : J'essaye de réaliser un clic de souris sur l'écran à une certaine position, en fonction de la couleur d'un pixel sur l'écran. Tout cela dans le cadre d'un logiciel.
J'utilise donc l'outil Window Info Tool pour connaître la couleur et la position d'un endroit à l'écran, pour pouvoir ensuite le comparer plus tard dans mon script et vérifier si on est dans cette situation précise.
Seulement, Window Info Tool me retourne des trucs bizarres, voir l'image : (avec l'option Magnify, on peut voir de plus près à quel pixel on s'intéresse)
http://www.hostingpics.net/viewer.php?i ... stitre.png

Sauf qu'on voit bien que mon pointeur est dans le bleu, pourtant il retourne une couleur verte.
Après quelques tests, le pointeur affiché par Window Info Tool si situe plus en haut à gauche de ce qu'il affiche.
J'ai essayé de modifier PxelCoordMode ou encore MouseCoordMode, mais rien n'y fait, j'ai donc besoin de votre aide !

En vous souhaitant une excellente journée/soirée

Re: Window Info Tool : mauvaise couleur de pixel retournée

Posté : ven. 17 juin 2016 18:38
par walkson
Bonjour et bienvenue sur le forum,
Y a quelques temps je m'étais fait cela pour rechercher une couleur

Code : Tout sélectionner

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#region ### START Koda GUI section ### Form=
Global $Form1 = GUICreate("PicColor", 222, 64, 192, 124, -1, $WS_EX_TOPMOST)
Global $Label1 = GUICtrlCreateLabel("", 8, 11, 40, 40, -1, BitOR($WS_EX_CLIENTEDGE, $WS_EX_STATICEDGE))
GUICtrlSetBkColor(-1, 0xFFFFFF)
Global $Input1 = GUICtrlCreateInput("", 72, 5, 120, 24)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
Global $Input2 = GUICtrlCreateInput("", 72, 32, 120, 24)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section ###
Global $aPos, $iColor
ToolTip("Alt + x : copié dans clipboard", 200, 150, "Message", 1)
Sleep(3000)
ToolTip("")
HotKeySet("!x", "ShowMessage");alt x
AdlibRegister("MyFunc", 300)
While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit

	EndSwitch
WEnd
Func ShowMessage()
	$val = $aPos[0] & ", " & $aPos[1] & ", " & "0x" & $iColor
	ConsoleWrite($val & @CR)
	ClipPut("0x" & $iColor)
	ToolTip("0x" & $iColor, 300, 200, "COPIE", 1, 1)
	Sleep(1000)
	ToolTip("")
EndFunc   ;==>ShowMessage

Func MyFunc()
	$aPos = MouseGetPos()
	$iColor = StringTrimLeft(Hex(PixelGetColor($aPos[0], $aPos[1])), 2)
	GUICtrlSetData($Input1, $aPos[0] & ", " & $aPos[1])
	GUICtrlSetData($Input2, "0x" & $iColor)
	GUICtrlSetBkColor($Label1, "0x" & $iColor)
EndFunc   ;==>MyFunc
Si ça peut vous être utile...

PS: je ne sais pas si vous avez lu les règles du forum mais si vous ne souhaitez pas être "clôturer" par un "vert" (modérateur), évitez les "trucs" pour les jeux. Je dis ça et je dis rien :mrgreen:

Re: Window Info Tool : mauvaise couleur de pixel retournée

Posté : sam. 18 juin 2016 10:57
par Tlem
@walkson

Ca marche aussi avec les rouges... :)

Envoyé de mon appareil mobile avec Tapatalk