Все я вроде со своей проблемой справился :thumbs_up:
А вариант со скриншотом у меня не проходит ( Комп слишком слабый и графика встает колом... Вот еслиб область скриншота уменьшить(желательно до 1 точки)
Код:
#include <WinAPI.au3>
#include <GUIConstantsEx.au3>
#include <EditConstants.au3>
#include <WindowsConstants.au3>
#Include <date.au3>
#include <GuiEdit.au3>
Opt("PixelCoordMode",1)
Opt("WinTitleMatchMode",1)
Opt("WinDetectHiddenText",1)
Opt("MouseCoordMode",2)
Global $titl = "Internet Explorer",$klass = "MacromediaFlashPlayerActiveX2",$c , $pos[2], $x, $y,$iX, $iY
$Form1 = GUICreate("Координатор", 208, 278, 419, 182)
$Edit1 = GUICtrlCreateEdit("", 16, 8, 177, 233, BitOR($ES_AUTOVSCROLL,$ES_WANTRETURN,$WS_VSCROLL))
GUISetState(@SW_SHOW)
While GUIGetMsg() <> $GUI_EVENT_CLOSE
$pos[0] = 418 ;координата Х
$pos[1] = 269 ;координата Y
Sleep(10)
_WinAPI_PixelGetColor($pos[0],$pos[1])
GUICtrlSetData($Edit1,$iX&","& $iY&" "&$pos[0]&","&$pos[1]&" "& $C)
WEnd
Func _WinAPI_PixelGetColor($x,$y) ;работает в неактивном(активном) окне с визуально видимыми точками
Local $Struct = DllStructCreate("int X;int Y")
$Ckoord = ControlGetPos( $titl, "", $klass) ; тут привязаться к окну и элементу окна
$Wkoord = WinGetPos( $titl ) ; чтоб координаты стали относительные
$iX = $x + $Ckoord[0] + $Wkoord[0] + 4 ; пересчет на относительные координаты
$iY = $y + $Ckoord[1] + $Wkoord[1] + 23 ; с учетом бордюра(4) и титульной строки (23)
DllStructSetData($Struct, "X", $iX)
DllStructSetData($Struct, "Y", $iY)
_WinAPI_ScreenToClient($titl, $Struct)
$iX = DllStructGetData($Struct, "X")
$iY = DllStructGetData($Struct, "Y")
$c = PixelGetColor ($iX, $iY)
Return $c ;возвращает цвет точно такой же как и PixelGetColor
EndFunc
А вариант со скриншотом у меня не проходит ( Комп слишком слабый и графика встает колом... Вот еслиб область скриншота уменьшить(желательно до 1 точки)