Jump to content



Photo

Screen Crosshairs


  • Please log in to reply
13 replies to this topic

#1 WideBoyDixon

WideBoyDixon

    Code Monkey

  • Active Members
  • PipPipPipPipPipPip
  • 381 posts

Posted 23 March 2009 - 10:54 PM

I thought this might be useful for aligning controls etc. or checking alignment on, for example, a web page (or a document). Actually, I'm not sure how it might be used but I'll dump it here anyway :D

It uses rectangular regions to create a crosshair on the screen which follows the mouse. Fine tuning can be done with the arrow keys and pressing shift at the same time moves the crosshair in bigger increments. You can change $CROSSHAIR_SIZE and $BIG_MOVE to change the size of the "gap" in the crosshair (1 is the minimum) and also the size of the "jump" when shift is pressed down with the arrow keys. I ended up constantly updating the zoom window as otherwise it got corrupted when I tried to only update it when the mouse moved. If someone can find a better way or can find a use for this script then please amend away!

I guess you could also change the color of the crosshair by setting a different background colour.

AutoIt         
#include <Constants.au3> #include <GUIConstants.au3> #include <GUIConstantsEx.au3> #include <Misc.au3> #include <WinAPI.au3> #include <WindowsConstants.au3> Opt("MustDeclareVars", 1) HotKeySet("{ESC}", "_ExitApplication") Global $SIZEX = 256, $SIZEY = 256, $CROSSHAIR_SIZE = 1, $BIG_MOVE = 8 Global $GUIZoom = GUICreate("Zoom", $SIZEX, $SIZEY, 0, 0, BitOR($WS_SYSMENU, $WS_BORDER, $WS_CAPTION), $WS_EX_TOPMOST) GUISetBkColor(0xEEEEEE) GUISetState() Global $Crosshair = GUICreate("", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP, $WS_EX_TOOLWINDOW + $WS_EX_TOPMOST) GUISetBkColor(0x000000) GUISetState() Global $z1 = 4 Global $zoomX = Int($SIZEX / $z1), $zoomY = Int($SIZEY / $z1), $DeskDC = _WinAPI_GetDC(0), $MyDC = _WinAPI_GetDC($GUIZoom) _WinAPI_SetBkMode($MyDC, 1) Global $UserDLL = DllOpen("user32.dll") Global $bLocked = False, $bContinue = True, $aPos, $aLast[2] = [-1, -1], $aMask, $aM_Mask, $nInc _SetZoom() While $bContinue     If ($aLast[0] <> -1) Then         $nInc = 1         If _IsPressed("10", $UserDLL) Then $nInc = $BIG_MOVE         If _IsPressed("25", $UserDLL) Then MouseMove($aLast[0] - $nInc, $aLast[1])         If _IsPressed("27", $UserDLL) Then MouseMove($aLast[0] + $nInc, $aLast[1])         If _IsPressed("26", $UserDLL) Then MouseMove($aLast[0], $aLast[1] - $nInc)         If _IsPressed("28", $UserDLL) Then MouseMove($aLast[0], $aLast[1] + $nInc)     EndIf     $aPos = MouseGetPos()     If _IsPressed("4C", $UserDLL) Then         $bLocked = Not $bLocked         Do             Sleep(10)         Until Not _IsPressed("4C", $UserDLL)     EndIf     If _IsPressed("21", $UserDLL) And $z1 < 32 Then         $z1 *= 2         _SetZoom()         Do             Sleep(10)         Until Not _IsPressed("21", $UserDLL)         $aLast[0] = -1     EndIf     If _IsPressed("22", $UserDLL) And $z1 > 1 Then         $z1 /= 2         _SetZoom()         Do             Sleep(10)         Until Not _IsPressed("22", $UserDLL)         $aLast[0] = -1     EndIf     If ($aPos[0] <> $aLast[0]) Or ($aPos[1] <> $aLast[1]) Then         If (Not $bLocked) Then             $aM_Mask = DllCall("gdi32.dll", "long", "CreateRectRgn", "long", 0, "long", 0, "long", 0, "long", 0)             $aMask = DllCall("gdi32.dll", "long", "CreateRectRgn", "long", 0, "long", $aPos[1], "long", $aPos[0] + 1 - $CROSSHAIR_SIZE, "long", $aPos[1] + 1)             DllCall("gdi32.dll", "long", "CombineRgn", "long", $aM_Mask[0], "long", $aMask[0], "long", $aM_Mask[0], "int", 2)             $aMask = DllCall("gdi32.dll", "long", "CreateRectRgn", "long", $aPos[0], "long", 0, "long", $aPos[0] + 1, "long", $aPos[1] + 1 - $CROSSHAIR_SIZE)             DllCall("gdi32.dll", "long", "CombineRgn", "long", $aM_Mask[0], "long", $aMask[0], "long", $aM_Mask[0], "int", 2)             $aMask = DllCall("gdi32.dll", "long", "CreateRectRgn", "long", $aPos[0] + $CROSSHAIR_SIZE, "long", $aPos[1], "long", @DesktopWidth, "long", $aPos[1] + 1)             DllCall("gdi32.dll", "long", "CombineRgn", "long", $aM_Mask[0], "long", $aMask[0], "long", $aM_Mask[0], "int", 2)             $aMask = DllCall("gdi32.dll", "long", "CreateRectRgn", "long", $aPos[0], "long", $aPos[1] + $CROSSHAIR_SIZE, "long", $aPos[0] + 1, "long", @DesktopHeight)             DllCall("gdi32.dll", "long", "CombineRgn", "long", $aM_Mask[0], "long", $aMask[0], "long", $aM_Mask[0], "int", 2)             DllCall("user32.dll", "long", "SetWindowRgn", "hwnd", $Crosshair, "long", $aM_Mask[0], "int", 1)             $aLast = $aPos         EndIf     EndIf     _WinAPI_StretchBlt($MyDC, 0, 0, $SIZEX, $SIZEY, $DeskDC, $aPos[0] - ($zoomX / 2), $aPos[1] - ($zoomY / 2), $zoomX, $zoomY, $SRCCOPY)     Sleep(50) WEnd GUISetState(@SW_HIDE, $Crosshair) GUISetState(@SW_HIDE, $GUIZoom) GUIDelete($Crosshair) GUIDelete($GUIZoom) DllClose($UserDLL) Exit Func OnAutoItExit()     _WinAPI_ReleaseDC(0, $DeskDC)     _WinAPI_ReleaseDC($GUIZoom, $MyDC) EndFunc   ;==>OnAutoItExit Func _SetZoom()     _WinAPI_SetWindowText($GUIZoom, "Crosshair- x" & $z1)     $zoomX = Int($SIZEX / $z1)     $zoomY = Int($SIZEY / $z1) EndFunc   ;==>_SetZoom Func _WinAPI_StretchBlt($hDestDC, $iXDest, $iYDest, $iWidth, $iHeight, $hSrcDC, $iXSrc, $iYSrc, $iWidthSrc, $iHeightSrc, $iROP)     Local $aResult = DllCall("GDI32.dll", "int", "StretchBlt", "hwnd", $hDestDC, "int", $iXDest, "int", $iYDest, "int", $iWidth, "int", $iHeight, _             "hwnd", $hSrcDC, "int", $iXSrc, "int", $iYSrc, "int", $iWidthSrc, "int", $iHeightSrc, "int", $iROP)     If @error Then Return SetError(@error, 0, False)     Return $aResult[0] <> 0 EndFunc   ;==>_WinAPI_StretchBlt Func _ExitApplication()     $bContinue = False EndFunc   ;==>_ExitApplication


Have fun.

WBD

Edited by WideBoyDixon, 24 March 2009 - 01:15 PM.






#2 billthecreator

billthecreator

    I am The creator

  • Active Members
  • PipPipPipPipPipPip
  • 379 posts

Posted 24 March 2009 - 02:10 AM

Thats pretty neat.
My Scripts: From Most recent to least.Countdown GUI | QLOCK TWO | FlipClock | Slot Machine My UDF:_GenerateRandomNoRepeat | _GuiSnap

#3 AlmarM

AlmarM

    Programming my way.

  • Active Members
  • PipPipPipPipPipPip
  • 1,642 posts

Posted 24 March 2009 - 01:12 PM

Very nice! :D

AlmarM

#4 WideBoyDixon

WideBoyDixon

    Code Monkey

  • Active Members
  • PipPipPipPipPipPip
  • 381 posts

Posted 24 March 2009 - 01:16 PM

Thanks for the comments. I just edited the first post with a new script which allows you to press "L" to lock the crosshair in place. Pressing "L" again unlocks it.

WBD

#5 Angoth

Angoth

    Seeker

  • Active Members
  • 12 posts

Posted 24 March 2009 - 04:56 PM

Very cool. I made a slight modification to your script to suit my needs. I needed to map out screen coords X,Y for apps to click and check contents. I deleted the Zoom display on the GUI title bar and added a check, display and GUI title bar update for the mouse coords in the While...Wend.

It's still 99.99999999999999999% your code. Thanks. I needed that, badly.

AutoIt         
#include <Constants.au3> #include <GUIConstants.au3> #include <GUIConstantsEx.au3> #include <Misc.au3> #include <WinAPI.au3> #include <WindowsConstants.au3> Opt("MustDeclareVars", 1) HotKeySet("{ESC}", "_ExitApplication") Global $SIZEX = 256, $SIZEY = 256, $CROSSHAIR_SIZE = 1, $BIG_MOVE = 8 Global $GUIZoom = GUICreate("Zoom", $SIZEX, $SIZEY, 0, 0, BitOR($WS_SYSMENU, $WS_BORDER, $WS_CAPTION), $WS_EX_TOPMOST) GUISetBkColor(0xEEEEEE) GUISetState() Global $Crosshair = GUICreate("", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP, $WS_EX_TOOLWINDOW + $WS_EX_TOPMOST) GUISetBkColor(0x000000) GUISetState() Global $z1 = 4 Global $zoomX = Int($SIZEX / $z1), $zoomY = Int($SIZEY / $z1), $DeskDC = _WinAPI_GetDC(0), $MyDC = _WinAPI_GetDC($GUIZoom) _WinAPI_SetBkMode($MyDC, 1) Global $UserDLL = DllOpen("user32.dll") Global $bLocked = False, $bContinue = True, $aPos, $aLast[2] = [-1, -1], $aMask, $aM_Mask, $nInc _SetZoom() While $bContinue     If ($aLast[0] <> -1) Then         $nInc = 1         If _IsPressed("10", $UserDLL) Then $nInc = $BIG_MOVE         If _IsPressed("25", $UserDLL) Then MouseMove($aLast[0] - $nInc, $aLast[1])         If _IsPressed("27", $UserDLL) Then MouseMove($aLast[0] + $nInc, $aLast[1])         If _IsPressed("26", $UserDLL) Then MouseMove($aLast[0], $aLast[1] - $nInc)         If _IsPressed("28", $UserDLL) Then MouseMove($aLast[0], $aLast[1] + $nInc)     EndIf     $aPos = MouseGetPos()     If _IsPressed("4C", $UserDLL) Then         $bLocked = Not $bLocked         Do             Sleep(10)         Until Not _IsPressed("4C", $UserDLL)     EndIf     If _IsPressed("21", $UserDLL) And $z1 < 32 Then         $z1 *= 2         _SetZoom()         Do             Sleep(10)         Until Not _IsPressed("21", $UserDLL)         $aLast[0] = -1     EndIf     If _IsPressed("22", $UserDLL) And $z1 > 1 Then         $z1 /= 2         _SetZoom()         Do             Sleep(10)         Until Not _IsPressed("22", $UserDLL)         $aLast[0] = -1     EndIf     If ($aPos[0] <> $aLast[0]) Or ($aPos[1] <> $aLast[1]) Then         If (Not $bLocked) Then             $aM_Mask = DllCall("gdi32.dll", "long", "CreateRectRgn", "long", 0, "long", 0, "long", 0, "long", 0)             $aMask = DllCall("gdi32.dll", "long", "CreateRectRgn", "long", 0, "long", $aPos[1], "long", $aPos[0] + 1 - $CROSSHAIR_SIZE, "long", $aPos[1] + 1)             DllCall("gdi32.dll", "long", "CombineRgn", "long", $aM_Mask[0], "long", $aMask[0], "long", $aM_Mask[0], "int", 2)             $aMask = DllCall("gdi32.dll", "long", "CreateRectRgn", "long", $aPos[0], "long", 0, "long", $aPos[0] + 1, "long", $aPos[1] + 1 - $CROSSHAIR_SIZE)             DllCall("gdi32.dll", "long", "CombineRgn", "long", $aM_Mask[0], "long", $aMask[0], "long", $aM_Mask[0], "int", 2)             $aMask = DllCall("gdi32.dll", "long", "CreateRectRgn", "long", $aPos[0] + $CROSSHAIR_SIZE, "long", $aPos[1], "long", @DesktopWidth, "long", $aPos[1] + 1)             DllCall("gdi32.dll", "long", "CombineRgn", "long", $aM_Mask[0], "long", $aMask[0], "long", $aM_Mask[0], "int", 2)             $aMask = DllCall("gdi32.dll", "long", "CreateRectRgn", "long", $aPos[0], "long", $aPos[1] + $CROSSHAIR_SIZE, "long", $aPos[0] + 1, "long", @DesktopHeight)             DllCall("gdi32.dll", "long", "CombineRgn", "long", $aM_Mask[0], "long", $aMask[0], "long", $aM_Mask[0], "int", 2)             DllCall("user32.dll", "long", "SetWindowRgn", "hwnd", $Crosshair, "long", $aM_Mask[0], "int", 1)             $aLast = $aPos         EndIf     EndIf     _WinAPI_StretchBlt($MyDC, 0, 0, $SIZEX, $SIZEY, $DeskDC, $aPos[0] - ($zoomX / 2), $aPos[1] - ($zoomY / 2), $zoomX, $zoomY, $SRCCOPY)     Sleep(50)     $aPos = MouseGetPos()     _WinAPI_SetWindowText($GUIZoom, "X = " & $aPos[0] & "         Y = " & $aPos[1]) WEnd GUISetState(@SW_HIDE, $Crosshair) GUISetState(@SW_HIDE, $GUIZoom) GUIDelete($Crosshair) GUIDelete($GUIZoom) DllClose($UserDLL) Exit Func OnAutoItExit()     _WinAPI_ReleaseDC(0, $DeskDC)     _WinAPI_ReleaseDC($GUIZoom, $MyDC) EndFunc   ;==>OnAutoItExit Func _SetZoom()     _WinAPI_SetWindowText($GUIZoom, "Crosshair- x" & $z1)     $zoomX = Int($SIZEX / $z1)     $zoomY = Int($SIZEY / $z1) EndFunc   ;==>_SetZoom Func _WinAPI_StretchBlt($hDestDC, $iXDest, $iYDest, $iWidth, $iHeight, $hSrcDC, $iXSrc, $iYSrc, $iWidthSrc, $iHeightSrc, $iROP)     Local $aResult = DllCall("GDI32.dll", "int", "StretchBlt", "hwnd", $hDestDC, "int", $iXDest, "int", $iYDest, "int", $iWidth, "int", $iHeight, _             "hwnd", $hSrcDC, "int", $iXSrc, "int", $iYSrc, "int", $iWidthSrc, "int", $iHeightSrc, "int", $iROP)     If @error Then Return SetError(@error, 0, False)     Return $aResult[0] <> 0 EndFunc   ;==>_WinAPI_StretchBlt Func _ExitApplication()     $bContinue = False EndFunc   ;==>_ExitApplication


Angoth

#6 AlmarM

AlmarM

    Programming my way.

  • Active Members
  • PipPipPipPipPipPip
  • 1,642 posts

Posted 24 March 2009 - 07:39 PM

[quote name='Angoth' post='660432' date='Mar 24 2009, 05:56 PM']Very cool. I made a slight modification to your script to suit my needs. I needed to map out screen coords X,Y for apps to click and check contents. I deleted the Zoom display on the GUI title bar and added a check, display and GUI title bar update for the mouse coords in the While...Wend.

It's still 99.99999999999999999% your code. Thanks. I needed that, badly.

AutoIt         
...ƒo݊÷ Ø à¢Øªê-.r‹¥uëޝ§]r‰h­«­¢+؍¥¹±Õ‘”€™±Ðí ½¹Íх¹Ñ̹…Ô̙Ðì(¥¹±Õ‘”€™±ÐíU% ½¹Íх¹Ñ̹…Ô̙Ðì(¥¹±Õ‘”€™±ÐíU% ½¹Íх¹ÑÍๅÔ̙Ðì(¥¹±Õ‘”€™±Ðí5¥ÍŒ¹…Ô̙Ðì(¥¹±Õ‘”€™±Ðí]¥¹A$¹…Ô̙Ðì(¥¹±Õ‘”€™±Ðí]¥¹‘½ÝÍ ½¹Íх¹Ñ̹…Ô̙Ðì()=ÁÐ ™ÅÕ½Ðí5ÕÍÑ•±…É•Y…É̙ÅÕ½Ð찀Ĥ()!½Ñ-•åM•Ð ™ÅÕ½ÐííM ô™ÅÕ½Ð찀™ÅÕ½Ðí}á¥ÑÁÁ±¥…Ñ¥½¸™ÅÕ½Ðì¤()±½‰…°€˜ŒÀÌØíM%i`€ô€ÈÔØ°€˜ŒÀÌØíM%id€ô€ÈÔØ°€˜ŒÀÌØí I=MM!%I}M%i€ô€Ä°€˜ŒÀÌØí   %}5=Y€ô€à)±½‰…°€˜ŒÀÌØíU%i½½´€ôU% ɕ…Ñ” ™ÅÕ½Ðíi½½´™ÅÕ½Ð찀˜ŒÀÌØíM%i`°€˜ŒÀÌØíM%id°€À°€À°    ¥Ñ=H ˜ŒÀÌØí]M}MeM59T°€˜ŒÀÌØí]M}    =IH°€˜ŒÀÌØí]M} AQ%=8¤°€˜ŒÀÌØí]M}a}Q=A5=MP¤)U%M•Ñ    ­ ½±½È Áá¤)U%M•ÑMхє ¤)±½‰…°€˜ŒÀÌØí ɽÍÍ¡…¥È€ôU% ɕ…Ñ” ™ÅÕ½Ðì™ÅÕ½Ð찁•ͭѽÁ]¥‘Ñ °•ͭѽÁ!•¥¡Ð°€À°€À°€˜ŒÀÌØí]M}A=AU@°€˜ŒÀÌØí]M}a}Q==1]%9=€¬€˜ŒÀÌØí]M}a}Q=A5=MP¤)U%M•Ñ ­ ½±½È ÁàÀÀÀÀÀÀ¤)U%M•ÑMхє ¤()±½‰…°€˜ŒÀÌØíèĀô€Ð)±½‰…°€˜ŒÀÌØíé½½µ`€ô%¹Ð ˜ŒÀÌØíM%i`€¼€˜ŒÀÌØíèĤ°€˜ŒÀÌØíé½½µd€ô%¹Ð ˜ŒÀÌØíM%id€¼€˜ŒÀÌØíèĤ°€˜ŒÀÌØí•Í­ €ô}]¥¹A%}•Ñ À¤°€˜ŒÀÌØí5å €ô}]¥¹A%}•Ñ ˜ŒÀÌØíU%i½½´¤)}]¥¹A%}M•Ñ ­5½‘” ˜ŒÀÌØí5å °€Ä¤)±½‰…°€˜ŒÀÌØíU͕É10€ô±±=Á•¸ ™ÅÕ½ÐíÕ͕ÈÌȹ‘±°™ÅÕ½Ðì¤)±½‰…°€˜ŒÀÌØí‰1½­•€ô…±Í”°€˜ŒÀÌØí‰ ½¹Ñ¥¹Õ”€ôQÉՔ°€˜ŒÀÌØí…A½Ì°€˜ŒÀÌØí… ½±½È°€˜ŒÀÌØí…1…ÍÑlÉt€ôl´Ä°€´Åt°€˜ŒÀÌØí…5…ͬ°€˜ŒÀÌØí…5}5…ͬ°€˜ŒÀÌØí¹%¹Œ()}M•Ñi½½´ ¤)]¡¥±”€˜ŒÀÌØí‰ ½¹Ñ¥¹Õ”(€€€%˜€ ˜ŒÀÌØí…1…ÍÑlÁt€™±Ð왝Ð쀴ĤQ¡•¸(€€€€€€€€˜ŒÀÌØí¹%¹Œ€ô€Ä(€€€€€€€%˜}%ÍAɕÍ͕ ™ÅÕ½ÐìÄÀ™ÅÕ½Ð찀˜ŒÀÌØíU͕É10¤Q¡•¸€˜ŒÀÌØí¹%¹Œ€ô€˜ŒÀÌØí   %}5=Y(€€€€€€€%˜}%ÍAɕÍ͕ ™ÅÕ½ÐìÈԙÅÕ½Ð찀˜ŒÀÌØíU͕É10¤Q¡•¸5½Õ͕5½Ù” ˜ŒÀÌØí…1…ÍÑlÁt€´€˜ŒÀÌØí¹%¹Œ°€˜ŒÀÌØí…1…ÍÑlÅt¤(€€€€€€€%˜}%ÍAɕÍ͕ ™ÅÕ½ÐìÈܙÅÕ½Ð찀˜ŒÀÌØíU͕É10¤Q¡•¸5½Õ͕5½Ù” ˜ŒÀÌØí…1…ÍÑlÁt€¬€˜ŒÀÌØí¹%¹Œ°€˜ŒÀÌØí…1…ÍÑlÅt¤(€€€€€€€%˜}%ÍAɕÍ͕ ™ÅÕ½ÐìÈØ™ÅÕ½Ð찀˜ŒÀÌØíU͕É10¤Q¡•¸5½Õ͕5½Ù” ˜ŒÀÌØí…1…ÍÑlÁt°€˜ŒÀÌØí…1…ÍÑlÅt€´€˜ŒÀÌØí¹%¹Œ¤(€€€€€€€%˜}%ÍAɕÍ͕ ™ÅÕ½ÐìÈà™ÅÕ½Ð찀˜ŒÀÌØíU͕É10¤Q¡•¸5½Õ͕5½Ù” ˜ŒÀÌØí…1…ÍÑlÁt°€˜ŒÀÌØí…1…ÍÑlÅt€¬€˜ŒÀÌØí¹%¹Œ¤(€€€¹‘%˜(€€€€˜ŒÀÌØí…A½Ì€ô5½Õ͕•ÑA½Ì ¤(€€€%˜}%ÍAɕÍ͕ ™ÅÕ½ÐìÑ ™ÅÕ½Ð찀˜ŒÀÌØíU͕É10¤Q¡•¸(€€€€€€€€˜ŒÀÌØí‰1½­•€ô9½Ð€˜ŒÀÌØí‰1½­•(€€€€€€€¼(€€€€€€€€€€€M±••À ÄÀ¤(€€€€€€€U¹Ñ¥°9½Ð}%ÍAɕÍ͕ ™ÅÕ½ÐìÑ ™ÅÕ½Ð찀˜ŒÀÌØíU͕É10¤(€€€¹‘%˜(€€€%˜}%ÍAɕÍ͕ ™ÅÕ½ÐìÈęÅÕ½Ð찀˜ŒÀÌØíU͕É10¤¹€˜ŒÀÌØíèĀ™±Ðì€ÌȁQ¡•¸(€€€€€€€€˜ŒÀÌØíèô€È(€€€€€€€}M•Ñi½½´ ¤(€€€€€€€¼(€€€€€€€€€€€M±••À ÄÀ¤(€€€€€€€U¹Ñ¥°9½Ð}%ÍAɕÍ͕ ™ÅÕ½ÐìÈęÅÕ½Ð찀˜ŒÀÌØíU͕É10¤(€€€€€€€€˜ŒÀÌØí…1…ÍÑlÁt€ô€´Ä(€€€¹‘%˜(€€€%˜}%ÍAɕÍ͕ ™ÅÕ½ÐìÈșÅÕ½Ð찀˜ŒÀÌØíU͕É10¤¹€˜ŒÀÌØíèĀ™Ðì€ÄQ¡•¸(€€€€€€€€˜ŒÀÌØíè¼ô€È(€€€€€€€}M•Ñi½½´ ¤(€€€€€€€¼(€€€€€€€€€€€M±••À ÄÀ¤(€€€€€€€U¹Ñ¥°9½Ð}%ÍAɕÍ͕ ™ÅÕ½ÐìÈșÅÕ½Ð찀˜ŒÀÌØíU͕É10¤(€€€€€€€€˜ŒÀÌØí…1…ÍÑlÁt€ô€´Ä(€€€¹‘%˜(€€€%˜€ ˜ŒÀÌØí…A½ÍlÁt€™±Ð왝Ð쀘ŒÀÌØí…1…ÍÑlÁt¤=Ȁ ˜ŒÀÌØí…A½ÍlÅt€™±Ð왝Ð쀘ŒÀÌØí…1…ÍÑlÅt¤Q¡•¸(€€€€€€€%˜€¡9½Ð€˜ŒÀÌØí‰1½­•¤Q¡•¸(€€€€€€€€€€€€˜ŒÀÌØí…5}5…ͬ€ô±± …±° ™ÅÕ½Ð흑¤Ìȹ‘±°™ÅÕ½Ð찀™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찀™ÅÕ½Ðí ɕ…Ñ•I•ÑI¸™ÅÕ½Ð찀™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찀À°€™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찀À°€™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찀À°€™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찀À¤(€€€€€€€€€€€€˜ŒÀÌØí…5…ͬ€ô±± …±° ™ÅÕ½Ð흑¤Ìȹ‘±°™ÅÕ½Ð찀™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찀™ÅÕ½Ðí ɕ…Ñ•I•ÑI¸™ÅÕ½Ð찀™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찀À°€™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찀˜ŒÀÌØí…A½ÍlÅt°€™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찀˜ŒÀÌØí…A½ÍlÁt€¬€Ä€´€˜ŒÀÌØí I=MM!%I}M%i°€™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찀˜ŒÀÌØí…A½ÍlÅt€¬€Ä¤(€€€€€€€€€€€±± …±° ™ÅÕ½Ð흑¤Ìȹ‘±°™ÅÕ½Ð찀™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찀™ÅÕ½Ðí ½µ‰¥¹•I¸™ÅÕ½Ð찀™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찀˜ŒÀÌØí…5}5…Í­lÁt°€™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찀˜ŒÀÌØí…5…Í­lÁt°€™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찀˜ŒÀÌØí…5}5…Í­lÁt°€™ÅÕ½Ðí¥¹Ð™ÅÕ½Ð찀Ȥ(€€€€€€€€€€€€˜ŒÀÌØí…5…ͬ€ô±± …±° ™ÅÕ½Ð흑¤Ìȹ‘±°™ÅÕ½Ð찀™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찀™ÅÕ½Ðí ɕ…Ñ•I•ÑI¸™ÅÕ½Ð찀™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찀˜ŒÀÌØí…A½ÍlÁt°€™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찀À°€™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찀˜ŒÀÌØí…A½ÍlÁt€¬€Ä°€™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찀˜ŒÀÌØí…A½ÍlÅt€¬€Ä€´€˜ŒÀÌØí I=MM!%I}M%i¤(€€€€€€€€€€€±± …±° ™ÅÕ½Ð흑¤Ìȹ‘±°™ÅÕ½Ð찀™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찀™ÅÕ½Ðí ½µ‰¥¹•I¸™ÅÕ½Ð찀™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찀˜ŒÀÌØí…5}5…Í­lÁt°€™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찀˜ŒÀÌØí…5…Í­lÁt°€™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찀˜ŒÀÌØí…5}5…Í­lÁt°€™ÅÕ½Ðí¥¹Ð™ÅÕ½Ð찀Ȥ(€€€€€€€€€€€€˜ŒÀÌØí…5…ͬ€ô±± …±° ™ÅÕ½Ð흑¤Ìȹ‘±°™ÅÕ½Ð찀™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찀™ÅÕ½Ðí ɕ…Ñ•I•ÑI¸™ÅÕ½Ð찀™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찀˜ŒÀÌØí…A½ÍlÁt€¬€˜ŒÀÌØí I=MM!%I}M%i°€™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찀˜ŒÀÌØí…A½ÍlÅt°€™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찁•ͭѽÁ]¥‘Ñ °€™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찀˜ŒÀÌØí…A½ÍlÅt€¬€Ä¤(€€€€€€€€€€€±± …±° ™ÅÕ½Ð흑¤Ìȹ‘±°™ÅÕ½Ð찀™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찀™ÅÕ½Ðí ½µ‰¥¹•I¸™ÅÕ½Ð찀™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찀˜ŒÀÌØí…5}5…Í­lÁt°€™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찀˜ŒÀÌØí…5…Í­lÁt°€™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찀˜ŒÀÌØí…5}5…Í­lÁt°€™ÅÕ½Ðí¥¹Ð™ÅÕ½Ð찀Ȥ(€€€€€€€€€€€€˜ŒÀÌØí…5…ͬ€ô±± …±° ™ÅÕ½Ð흑¤Ìȹ‘±°™ÅÕ½Ð찀™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찀™ÅÕ½Ðí ɕ…Ñ•I•ÑI¸™ÅÕ½Ð찀™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찀˜ŒÀÌØí…A½ÍlÁt°€™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찀˜ŒÀÌØí…A½ÍlÅt€¬€˜ŒÀÌØí I=MM!%I}M%i°€™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찀˜ŒÀÌØí…A½ÍlÁt€¬€Ä°€™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찁•ͭѽÁ!•¥¡Ð¤(€€€€€€€€€€€±± …±° ™ÅÕ½Ð흑¤Ìȹ‘±°™ÅÕ½Ð찀™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찀™ÅÕ½Ðí ½µ‰¥¹•I¸™ÅÕ½Ð찀™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찀˜ŒÀÌØí…5}5…Í­lÁt°€™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찀˜ŒÀÌØí…5…Í­lÁt°€™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찀˜ŒÀÌØí…5}5…Í­lÁt°€™ÅÕ½Ðí¥¹Ð™ÅÕ½Ð찀Ȥ(€€€€€€€€€€€±± …±° ™ÅÕ½ÐíÕ͕ÈÌȹ‘±°™ÅÕ½Ð찀™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찀™ÅÕ½ÐíM•Ñ]¥¹‘½ÝI¸™ÅÕ½Ð찀™ÅÕ½Ðí¡Ý¹™ÅÕ½Ð찀˜ŒÀÌØí ɽÍÍ¡…¥È°€™ÅÕ½Ðí±½¹œ™ÅÕ½Ð찀˜ŒÀÌØí…5}5…Í­lÁt°€™ÅÕ½Ðí¥¹Ð™ÅÕ½Ð찀Ĥ(€€€€€€€€€€€€˜ŒÀÌØí…1…ÍЀô€˜ŒÀÌØí…A½Ì(€€€€€€€¹‘%˜(€€€¹‘%˜(€€€}]¥¹A%}MÑɕэ¡  ±Ð ˜ŒÀÌØí5å °€À°€À°€˜ŒÀÌØíM%i`°€˜ŒÀÌØíM%id°€˜ŒÀÌØí•Í­ °€˜ŒÀÌØí…A½ÍlÁt€´€ ˜ŒÀÌØíé½½µ`€¼€È¤°€˜ŒÀÌØí…A½ÍlÅt€´€ ˜ŒÀÌØíé½½µd€¼€È¤°€˜ŒÀÌØíé½½µ`°€˜ŒÀÌØíé½½µd°€˜ŒÀÌØíMI =Ad¤(€€€M±••À ÔÀ¤(€€€€˜ŒÀÌØí…A½Ì€ô5½Õ͕•ÑA½Ì ¤($˜ŒÀÌØí… ½±½È€ôA¥á•±•Ñ ½±½È ˜ŒÀÌØí…A½ÍlÁt°€˜ŒÀÌØí…A½ÍlÅt¤(€€€}]¥¹A%}M•Ñ]¥¹‘½ÝQ•áÐ ˜ŒÀÌØíU%i½½´°€™ÅÕ½Ðí`耙ÅÕ½Ð쀙…µÀ쀘ŒÀÌØí…A½ÍlÁt€™…µÀ쀙ÅÕ½Ðìd耙ÅÕ½Ð쀙…µÀ쀘ŒÀÌØí…A½ÍlÅt€™…µÀ쀙ÅÕ½Ðì ½±½È耙ÅÕ½Ð쀙…µÀ쀙ÅÕ½ÐìÁà™ÅÕ½Ð쀙…µÀì!•à ˜ŒÀÌØí… ½±½È°€Ø¤¤)]¹()U%M•ÑMхє¡M]}!%°€˜ŒÀÌØí ɽÍÍ¡…¥È¤)U%M•ÑMхє¡M]}!%°€˜ŒÀÌØíU%i½½´¤)U%•±•Ñ” ˜ŒÀÌØí ɽÍÍ¡…¥È¤)U%•±•Ñ” ˜ŒÀÌØíU%i½½´¤)±± ±½Í” ˜ŒÀÌØíU͕É10¤()á¥Ð()Õ¹Œ=¹Õѽ%Ñá¥Ð ¤(€€€}]¥¹A%}I•±•…Í• À°€˜ŒÀÌØí•Í­ ¤(€€€}]¥¹A%}I•±•…Í• ˜ŒÀÌØíU%i½½´°€˜ŒÀÌØí5å ¤)¹‘Õ¹Œ€€€ìôô™Ðí=¹Õѽ%Ñá¥Ð()Õ¹Œ}M•Ñi½½´ ¤(€€€}]¥¹A%}M•Ñ]¥¹‘½ÝQ•áÐ ˜ŒÀÌØíU%i½½´°€™ÅÕ½Ðí ɽÍÍ¡…¥È´à™ÅÕ½Ð쀙…µÀ쀘ŒÀÌØíèĤ(€€€€˜ŒÀÌØíé½½µ`€ô%¹Ð ˜ŒÀÌØíM%i`€¼€˜ŒÀÌØíèĤ(€€€€˜ŒÀÌØíé½½µd€ô%¹Ð ˜ŒÀÌØíM%id€¼€˜ŒÀÌØíèĤ)¹‘Õ¹Œ€€€ìôô™Ðí}M•Ñi½½´()Õ¹Œ}]¥¹A%}MÑɕэ¡    ±Ð ˜ŒÀÌØí¡•ÍÑ °€˜ŒÀÌØí¥a•Íа€˜ŒÀÌØí¥e•Íа€˜ŒÀÌØí¥]¥‘Ñ °€˜ŒÀÌØí¥!•¥¡Ð°€˜ŒÀÌØí¡Mɍ °€˜ŒÀÌØí¥aMɌ°€˜ŒÀÌØí¥eMɌ°€˜ŒÀÌØí¥]¥‘Ñ¡MɌ°€˜ŒÀÌØí¥!•¥¡ÑMɌ°€˜ŒÀÌØí¥I=(€€€1½…°€˜ŒÀÌØí…I•ÍձЀô±± …±° ™ÅÕ½Ðí$Ìȹ‘±°™ÅÕ½Ð찀™ÅÕ½Ðí¥¹Ð™ÅÕ½Ð찀™ÅÕ½ÐíMÑɕэ¡   ±Ð™ÅÕ½Ð찀™ÅÕ½Ðí¡Ý¹™ÅÕ½Ð찀˜ŒÀÌØí¡•ÍÑ °€™ÅÕ½Ðí¥¹Ð™ÅÕ½Ð찀˜ŒÀÌØí¥a•Íа€™ÅÕ½Ðí¥¹Ð™ÅÕ½Ð찀˜ŒÀÌØí¥e•Íа€™ÅÕ½Ðí¥¹Ð™ÅÕ½Ð찀˜ŒÀÌØí¥]¥‘Ñ °€™ÅÕ½Ðí¥¹Ð™ÅÕ½Ð찀˜ŒÀÌØí¥!•¥¡Ð°|(€€€€€€€€€€€€™ÅÕ½Ðí¡Ý¹™ÅÕ½Ð찀˜ŒÀÌØí¡Mɍ °€™ÅÕ½Ðí¥¹Ð™ÅÕ½Ð찀˜ŒÀÌØí¥aMɌ°€™ÅÕ½Ðí¥¹Ð™ÅÕ½Ð찀˜ŒÀÌØí¥eMɌ°€™ÅÕ½Ðí¥¹Ð™ÅÕ½Ð찀˜ŒÀÌØí¥]¥‘Ñ¡MɌ°€™ÅÕ½Ðí¥¹Ð™ÅÕ½Ð찀˜ŒÀÌØí¥!•¥¡ÑMɌ°€™ÅÕ½Ðí¥¹Ð™ÅÕ½Ð찀˜ŒÀÌØí¥I=(€€€%˜•ÉɽȁQ¡•¸I•ÑÕɸM•ÑÉɽȡ•ÉɽȰ€À°…±Í”¤(€€€I•ÑÕɸ€˜ŒÀÌØí…I•ÍÕ±ÑlÁt€™±Ð왝Ðì€À)¹‘Õ¹Œ€€€ìôô™Ðí}]¥¹A%}MÑɕэ¡  ±Ð()Õ¹Œ}á¥ÑÁÁ±¥…Ñ¥½¸ ¤(€€€€˜ŒÀÌØí‰ ½¹Ñ¥¹Õ”€ô…±Í”)¹‘Õ¹Œ€€€ìôô™Ðí}á¥ÑÁÁ±¥…Ñ¥½

AlmarM

#7 Mat

Mat

    43 38 48 31 30 4E 34 4F 32

  • MVPs
  • 4,040 posts

Posted 24 March 2009 - 09:23 PM

Funky lil script!

Does anyone know how I could edit this to make the crosshair stick on click, and for a second one to be created, also on click?

I've played around with the script fo the last hour with no success.

I also need it to return the 2 xy coords....

MDiesel

I don't know where I'm going, but I'm on my way.


#8 WideBoyDixon

WideBoyDixon

    Code Monkey

  • Active Members
  • PipPipPipPipPipPip
  • 381 posts

Posted 25 March 2009 - 01:39 AM

Something like this?:

AutoIt         
#include <Constants.au3> #include <GUIConstants.au3> #include <GUIConstantsEx.au3> #include <Misc.au3> #include <WinAPI.au3> #include <WindowsConstants.au3> Opt("MustDeclareVars", 1) HotKeySet("{ESC}", "_ExitApplication") Global $SIZEX = 256, $SIZEY = 256, $CROSSHAIR_SIZE = 1, $BIG_MOVE = 8 Global $GUIZoom = GUICreate("Zoom", $SIZEX, $SIZEY, 0, 0, BitOR($WS_SYSMENU, $WS_BORDER, $WS_CAPTION), $WS_EX_TOPMOST) GUISetBkColor(0xEEEEEE) GUISetState() Global $Crosshair = GUICreate("", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP, $WS_EX_TOOLWINDOW + $WS_EX_TOPMOST) GUISetBkColor(0x000000) GUISetState() Global $z1 = 4 Global $zoomX = Int($SIZEX / $z1), $zoomY = Int($SIZEY / $z1), $DeskDC = _WinAPI_GetDC(0), $MyDC = _WinAPI_GetDC($GUIZoom) _WinAPI_SetBkMode($MyDC, 1) Global $UserDLL = DllOpen("user32.dll") Global $iCurrent = 0, $bContinue = True, $aPos, $aColor, $aLast[2] = [-1, -1], $aMask, $aM_Mask, $nInc, $aPoints[2][2] = [[-1, -1], [-1, -1]], $i _SetZoom() While $bContinue     $bContinue = (GUIGetMsg() <> $GUI_EVENT_CLOSE)     If ($aLast[0] <> -1) Then         $nInc = 1         If _IsPressed("10", $UserDLL) Then $nInc = $BIG_MOVE         If _IsPressed("25", $UserDLL) Then MouseMove($aLast[0] - $nInc, $aLast[1])         If _IsPressed("27", $UserDLL) Then MouseMove($aLast[0] + $nInc, $aLast[1])         If _IsPressed("26", $UserDLL) Then MouseMove($aLast[0], $aLast[1] - $nInc)         If _IsPressed("28", $UserDLL) Then MouseMove($aLast[0], $aLast[1] + $nInc)     EndIf     $aPos = MouseGetPos()     If $iCurrent < 2 Then         $aPoints[$iCurrent][0] = $aPos[0]         $aPoints[$iCurrent][1] = $aPos[1]     EndIf     If _IsPressed("01", $UserDLL) Then         If $iCurrent < 2 Then             ToolTip("[" & $aPoints[$iCurrent][0] & "," & $aPoints[$iCurrent][1] & "]", $aPoints[$iCurrent][0], $aPoints[$iCurrent][1])         EndIf         $iCurrent += 1         If $iCurrent > 2 Then $iCurrent = 0         Do             Sleep(10)         Until Not _IsPressed("01", $UserDLL)         $aLast[0] = -1     EndIf     If _IsPressed("21", $UserDLL) And $z1 < 32 Then         $z1 *= 2         _SetZoom()         Do             Sleep(10)         Until Not _IsPressed("21", $UserDLL)         $aLast[0] = -1     EndIf     If _IsPressed("22", $UserDLL) And $z1 > 1 Then         $z1 /= 2         _SetZoom()         Do             Sleep(10)         Until Not _IsPressed("22", $UserDLL)         $aLast[0] = -1     EndIf     If ($aPos[0] <> $aLast[0]) Or ($aPos[1] <> $aLast[1]) Then         $aM_Mask = DllCall("gdi32.dll", "long", "CreateRectRgn", "long", 0, "long", 0, "long", 0, "long", 0)         For $i = 0 To 1             If $aPoints[$i][0] >= 0 Then                 $aMask = DllCall("gdi32.dll", "long", "CreateRectRgn", "long", 0, "long", $aPoints[$i][1], "long", $aPoints[$i][0] + 1 - $CROSSHAIR_SIZE, "long", $aPoints[$i][1] + 1)                 DllCall("gdi32.dll", "long", "CombineRgn", "long", $aM_Mask[0], "long", $aMask[0], "long", $aM_Mask[0], "int", 2)                 $aMask = DllCall("gdi32.dll", "long", "CreateRectRgn", "long", $aPoints[$i][0], "long", 0, "long", $aPoints[$i][0] + 1, "long", $aPoints[$i][1] + 1 - $CROSSHAIR_SIZE)                 DllCall("gdi32.dll", "long", "CombineRgn", "long", $aM_Mask[0], "long", $aMask[0], "long", $aM_Mask[0], "int", 2)                 $aMask = DllCall("gdi32.dll", "long", "CreateRectRgn", "long", $aPoints[$i][0] + $CROSSHAIR_SIZE, "long", $aPoints[$i][1], "long", @DesktopWidth, "long", $aPoints[$i][1] + 1)                 DllCall("gdi32.dll", "long", "CombineRgn", "long", $aM_Mask[0], "long", $aMask[0], "long", $aM_Mask[0], "int", 2)                 $aMask = DllCall("gdi32.dll", "long", "CreateRectRgn", "long", $aPoints[$i][0], "long", $aPoints[$i][1] + $CROSSHAIR_SIZE, "long", $aPoints[$i][0] + 1, "long", @DesktopHeight)                 DllCall("gdi32.dll", "long", "CombineRgn", "long", $aM_Mask[0], "long", $aMask[0], "long", $aM_Mask[0], "int", 2)             EndIf         Next         DllCall("user32.dll", "long", "SetWindowRgn", "hwnd", $Crosshair, "long", $aM_Mask[0], "int", 1)         $aLast = $aPos     EndIf     _WinAPI_StretchBlt($MyDC, 0, 0, $SIZEX, $SIZEY, $DeskDC, $aPos[0] - ($zoomX / 2), $aPos[1] - ($zoomY / 2), $zoomX, $zoomY, $SRCCOPY)     Sleep(50)     $aPos = MouseGetPos()     $aColor = PixelGetColor($aPos[0], $aPos[1])     _WinAPI_SetWindowText($GUIZoom, "X: " & $aPos[0] & " Y: " & $aPos[1] & " Color: " & "0x" & Hex($aColor, 6)) WEnd GUIDelete($Crosshair) GUIDelete($GUIZoom) DllClose($UserDLL) Exit Func OnAutoItExit()     _WinAPI_ReleaseDC(0, $DeskDC)     _WinAPI_ReleaseDC($GUIZoom, $MyDC) EndFunc   ;==>OnAutoItExit Func _SetZoom()     $zoomX = Int($SIZEX / $z1)     $zoomY = Int($SIZEY / $z1) EndFunc   ;==>_SetZoom Func _WinAPI_StretchBlt($hDestDC, $iXDest, $iYDest, $iWidth, $iHeight, $hSrcDC, $iXSrc, $iYSrc, $iWidthSrc, $iHeightSrc, $iROP)     Local $aResult = DllCall("GDI32.dll", "int", "StretchBlt", "hwnd", $hDestDC, "int", $iXDest, "int", $iYDest, "int", $iWidth, "int", $iHeight, _             "hwnd", $hSrcDC, "int", $iXSrc, "int", $iYSrc, "int", $iWidthSrc, "int", $iHeightSrc, "int", $iROP)     If @error Then Return SetError(@error, 0, False)     Return $aResult[0] <> 0 EndFunc   ;==>_WinAPI_StretchBlt Func _ExitApplication()     $bContinue = False EndFunc   ;==>_ExitApplication


WBD

#9 Mat

Mat

    43 38 48 31 30 4E 34 4F 32

  • MVPs
  • 4,040 posts

Posted 25 March 2009 - 03:53 PM

Yep thats good thanks, I'll be able to play around with that now and turn it into something I can use!! thanks a lot WideBoyDixon!!

MDiesel

I don't know where I'm going, but I'm on my way.


#10 KaFu

KaFu

    Hey, it's just me, KhaFoo...

  • MVPs
  • 3,162 posts

Posted 17 April 2009 - 12:37 PM

Nice script ^_^. Anyone tested in on Vista already? Heard that COP (which also utilizes the gdi32.dll) does have problems on Vista.

Edited by KaFu, 17 April 2009 - 12:38 PM.


#11 Melba23

Melba23

    Yes, me!

  • Moderators
  • 15,330 posts

Posted 17 April 2009 - 12:57 PM

All,

Works on my Vista x32 Sp1 HP. Although it does flicker a bit and it occasionally misses the mouse clicks.

M23
StringSize - Automatically size controls to fit text - ExtMsgBox - A user customisable replacement for MsgBox

Toast - Small GUIs which pop out of the Systray - Marquee - Scrolling tickertape GUIs

Scrollbars - Automatically sized scrollbars with a single command - GUIFrame - Subdivide GUIs into many adjustable frames

GUIExtender - Extend and retract multiple sections within a GUI - NoFocusLines - Remove the dotted focus lines from buttons, sliders, radios and checkboxes

ChooseFileFolder - Single and multiple selections from specified path tree structure - - Notify - Small notifications on the edge of the display

RecFileListToArray - An alternative to _FileListToArray with user-defined include/exclude masks, maximum recursion level, sorting and displayed path options

GUIListViewEx - Insert, delete, move, drag and sort ListView items


#12 KaFu

KaFu

    Hey, it's just me, KhaFoo...

  • MVPs
  • 3,162 posts

Posted 17 April 2009 - 01:01 PM

Thanks for the feedback ;), maybe it's time for another COP update ^_^...

#13 JSThePatriot

JSThePatriot

    carpe diem. vita brevis.

  • MVPs
  • 3,686 posts

Posted 17 April 2009 - 09:54 PM

Love the script...could have used this a while back, saved in my archive now for future use if I so have a need.

Thanks again,
Jarvis
AutoIt LinksFile-String Hash Plugin Updated! 04-02-08ComputerGetInfo UDF's Updated! 11-23-06External LinksVortex Revolutions Engineer / Inventor (Web, Desktop, and Mobile Applications, Hardware Gizmos, Consulting, and more)

#14 Skrip

Skrip

    Psychonaut

  • Active Members
  • PipPipPipPipPipPip
  • 2,340 posts

Posted 18 April 2009 - 12:11 AM

I like it!

We're trapped in the belly of this horrible machine.And the machine is bleeding to death...





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users