Hallo zusammen,
ich versuche die PixelSearch-Funktion zu verstehen.
Meine AutoIt-Version ist: 3.3.16.0
Das Betriebssystem ist: Windows 11 Pro 64Bit 22621.819
Hier das Script, das ich zum Testen verwende:
#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>
Opt("PixelCoordMode", 2)
Global $hGUI, $aCoord[2]
$hGUI = GUICreate("Test GUI.", 400, 350, -1, -1)
GUISetBkColor(0x008000)
GUICtrlCreateLabel("", 20, 20, 100, 100)
GUICtrlSetBkColor(-1, 0xFF0000)
GUICtrlCreateLabel("", 40, 40, 60, 60)
GUICtrlSetBkColor(-1, 0x0000FF)
GUISetState(@SW_SHOW)
$aCoord = PixelSearch(10, 10, 100, 100, 0x0000FF, 0, 1, $hGUI)
If Not @error Then
MsgBox($MB_SYSTEMMODAL, "Die Koordinaten X und Y lauten:", $aCoord[0] & "," & $aCoord[1])
EndIf
Do
Sleep(50)
Until GUIGetMsg() = $GUI_EVENT_CLOSE
Opt("PixelCoordMode", 1)
Exit
Alles anzeigen
Nur irgendwie funktioniert das nicht.
PixelSearch erkennt das blaue Label einfach nicht, es erkennt immer nur den Desktophintergrund.
Also entweder mache ich da etwas falsch, oder die Funktion hat einen Fehler bei Windows 11 Pro 64Bit 22621.819.
(Ich habe leider kein anderes Betriebssystem zum Testen).
Die Funktion PixelGetColor gibt mir komischerweise auch immer nur die Farbe des Desktop zurück, egal welche Koordinaten ich da eingebe.
Auf einem anderen PC mit dem selben Betriebssystem, aber einer anderen Grafikkarte usw. funktioniert es auch nicht.
Kann mir da einer helfen, irgendwie blicke ich da nicht mehr durch?
MfG:
BigRox