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

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Verrouillé
astariul
Niveau 1
Niveau 1
Messages : 1
Enregistré le : ven. 17 juin 2016 16:23
Status : Hors ligne

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

#1

Message 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
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1037
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

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

#2

Message 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:
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

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

#3

Message par Tlem »

@walkson

Ca marche aussi avec les rouges... :)

Envoyé de mon appareil mobile avec Tapatalk
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Verrouillé