Jump to content

Pixelgetcolor don't get color


Recommended Posts

  • 4 months later...

I had tried successfully with SILKROAD ONLINE.

I had tried in vain to AutoIt_Search for the originator.

Below is the original script, which is not written by me.

This script will display coordinate x y and pixelcolor.

---------------------------------------------------------------------------------------------------------

#include <GuiConstants.au3>

#include <date.au3>

#include <GUIConstantsEx.au3>

#include <WindowsConstants.au3>

#include <EditConstants.au3>

#include <StaticConstants.au3>

Opt("GUIOnEventMode", 1)

Opt("WinTitleMatchMode", 4) ; set title matchmode to advanced

Global $xoffset = 37

Global $yoffset = 23

Global $wposx, $wposy, $DT, $cWIN, $xcalcL, $xcalcR, $ycalc, $cpos, $pos, $tpos, $hexV, $_color

Global $title = "Your Title Here"

HotKeySet("!{ESC}", "Terminate") ; a way out of this

HotKeySet("!f", "_color"); check for color

$pGUI = GUICreate($title, 150, 13, -1, -1, $WS_POPUP)

$startLAB = GUICtrlCreateLabel(" X: 0000, Y: 0000, C: 000000000", 0, 0, 150, 13)

GUICtrlSetBkColor($startLAB, 0xCCFFFF)

WinSetOnTop($pGUI, "", 1)

GUISetState(@SW_SHOW)

While 1

_checkWIN()

_nMGP()

WEnd

Func _nMGP()

Sleep(0010)

$pos = MouseGetPos()

If not IsArray($pos) then return

$_color = PixelGetColor($pos[0],$pos[1])

GUICtrlSetData($startLAB, ' X: ' & $pos[0] & ', Y: ' & $pos[1] & ', C: ' & $_color)

If $DT = 1 Then

$xcalcR = .95 * @DesktopWidth

$xcalcL = .05 * @DesktopWidth

$ycalc = .90 * @DesktopHeight

If $pos[1] > $ycalc Then

$wposy = $pos[1] - $yoffset * 2 ; If too close to bottom of screen position above mouse pointer

Else

$wposy = $pos[1] + $yoffset ; Position label beneath the mouse pointer

EndIf

If $pos[0] > $xcalcR Then ; If too close to right side of screen move it

$wposx = $pos[0] - $xoffset * 3

ElseIf $pos[0] < $xcalcL Then ; If too close to left side of screen move it

$wposx = $pos[0] + 10

Else

$wposx = $pos[0] - $xoffset ; Use normal offsets for positioning label

EndIf

Else

_clientmouse()

EndIf

WinMove($title, "", $wposx, $wposy) ; Move the label appropriate to follow the mouse

EndFunc ;==>_nMGP

Func _checkWIN()

$cWIN = WinGetTitle("[ACTIVE]")

If $cWIN <> $title Then

TrayTip("", $cWIN, 30)

Opt("MouseCoordMode", 0)

$DT = 0

Else

TrayTip("", "DESKTOP", 30)

Opt("MouseCoordMode", 1)

$DT = 1

EndIf

EndFunc ;==>_checkWIN

Func _clientmouse()

Opt("MouseCoordMode", 1)

$tpos = MouseGetPos()

$_color = PixelGetColor($tpos[0],$tpos[1])

Global $cpos = WinGetPos($cWIN)

If not IsArray($cpos) then return

$xcalcR = .95 * $cpos[2]

$xcalcL = .05 * $cpos[2]

$ycalc = .90 * $cpos[3]

If $tpos[1] > $ycalc Then

$wposy = $tpos[1] - $yoffset * 2 ; If too close to bottom of screen position above mouse pointer

Else

$wposy = $tpos[1] + $yoffset ; Position label beneath the mouse pointer

EndIf

If $tpos[0] > $xcalcR Then ; If too close to right side of screen move it

$wposx = $tpos[0] - $xoffset * 3

ElseIf $tpos[0] < $xcalcL Then ; If too close to left side of screen move it

$wposx = $tpos[0] + 10

Else

$wposx = $tpos[0] - $xoffset ; Use normal offsets for positioning label

EndIf

EndFunc ;==>_clientmouse

Func _color()

Local $_cpos = MouseGetPos()

Local $pcolor

$pcolor = PixelGetColor($_cpos[0],$_cpos[1])

$hexV = "0x" & Hex($pcolor,6)

Local $fOpen = FileOpen(@ScriptDir & "\color.txt",1)

FileWrite($fOpen,@CRLF & _NowDate() & " " & _NowTime() & " : " & "X: " & $_cpos[0] & _

"," & "Y: " & $_cpos[1] & " | " & "Hex: " & $hexV & " Color: " & $pcolor)

FileClose($fOpen)

EndFunc

Func Terminate()

Exit 0

EndFunc ;==>Terminate

Link to comment
Share on other sites

Click my signature for Mouse Location Pointer which works anywhere. It will give you a better understanding of what you are trying to do. It's been updated. Also, that's my old script you are posting.

Edited by Ealric

My Projects: [topic="89413"]GoogleHack Search[/topic], [topic="67095"]Swiss File Knife GUI[/topic], [topic="69072"]Mouse Location Pointer[/topic], [topic="86040"]Standard Deviation Calculator[/topic]

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...