Advertisement
Guest User

PixelColor

a guest
Dec 25th, 2015
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.29 KB | None | 0 0
  1. #include <GUIconstants.au3>
  2. #include <WindowsConstants.au3>
  3. #include <EditConstants.au3>
  4. #include <StaticConstants.au3>
  5. #include<Misc.au3>
  6. #NoTrayIcon
  7.  
  8. Opt("WinTitleMatchMode", 4)
  9. Opt("WinWaitDelay", 0)
  10. Opt("GUIonEventMode",1)
  11.  
  12. ;~ Global $SRCCOPY = 0x00CC0020
  13. Global $leave = 0
  14. Global $Paused=0
  15. $MouseModifier = 1
  16. $PressedTime = 1
  17.  
  18. HotKeySet("{PAUSE}", "TogglePause")
  19. HotKeySet("{INS}", "_copyHEX")
  20.  
  21. Tooltip("AU3MAG", 0, 0,"","",4)
  22. $MyhWnd = WinGetHandle("classname=tooltips_class32")
  23.  
  24. GUICreate("Pixel Color", 180, 410,0, 0, -1, $WS_EX_TOPMOST)
  25. GUISetOnEvent($GUI_EVENT_CLOSE,"_exit")
  26.  
  27. GUICtrlCreateGroup(" Pozycja myszy ", 10, 10, 160, 50)
  28. GUICtrlCreateLabel("X:", 25, 33, 15, 15)
  29. $MousePosX=GUICtrlCreateInput("", 40, 30, 40, 20, $ES_READONLY)
  30. GUICtrlCreateLabel("Y:", 90, 33, 15, 15)
  31. $MousePosY=GUICtrlCreateInput("", 105, 30, 40, 20, $ES_READONLY)
  32.  
  33. GUICtrlCreateGroup(" Kod koloru ", 10, 70, 160, 110)
  34. GUICtrlCreateLabel("Dziesiętny:", 25, 93, 50, 15)
  35. $PixelColor=GUICtrlCreateInput("", 80, 90, 70, 20, $ES_READONLY)
  36. GUICtrlCreateLabel("Hex:", 25, 123, 50, 15)
  37. $hexColor=GUICtrlCreateInput("", 80, 120, 70, 20,$ES_READONLY)
  38. GUICtrlCreateLabel("Kolor:", 25, 153, 50, 15)
  39. $MostrarColor=GUICtrlCreateLabel("", 80, 150, 70, 20,$ES_READONLY)
  40.  
  41. GUICtrlCreateGroup(" Opcje specjalne ", 10, 190, 160, 145)
  42. $RB_Full = GUICtrlCreateRadio("Pełny Ekran", 25, 210, 100, 20)
  43. GUICtrlSetState(-1, $GUI_CHECKED)
  44. $RB_Window = GUICtrlCreateRadio("Aktywne Okno", 25, 230, 100, 20)
  45. $Mag= GUICtrlCreateCheckbox("Powiększenie", 25, 250, 100, 20)
  46. $Solid= GUICtrlCreateRadio("Celownik prosty", 35, 270, 100, 20)
  47. $Inver= GUICtrlCreateRadio("Celownik negatyw", 35, 290, 120, 20)
  48. $KeyBMouse= GUICtrlCreateCheckbox("Sterowanie klawiaturą", 25, 310, 140, 20)
  49.  
  50. $Ayuda=GUICtrlCreateButton("Pomoc",10,345,77)
  51. GUICtrlSetOnEvent(-1,"Ayuda")
  52. $Saltar=GUICtrlCreateButton("Wpisz pozycję",92,345,77)
  53. GUICtrlSetOnEvent(-1,"Saltar")
  54.  
  55. GUICtrlCreateLabel("PAUSE: Zablokuj/Odblokuj program", 0, 380 ,180,15,$SS_CENTER)
  56. GUICtrlSetColor(-1,0x00808080)
  57. GUICtrlCreateLabel("INS: Kopiuj kod hex do schowka", 0, 395 ,180,15,$SS_CENTER)
  58. GUICtrlSetColor(-1,0x00808080)
  59.  
  60.  
  61. GUISetState()
  62. data()
  63.  
  64. Func data()
  65.  
  66. While 1
  67. Sleep(50)
  68. Opt("WinTitleMatchMode",4)
  69. If (_IsPressed(25) + _IsPressed(26) + _IsPressed(27) + _IsPressed(28)) = 0 Then
  70. _ResetSpeed()
  71. EndIf
  72. $msg=GUIGetMsg()
  73. Select
  74. Case $msg=$GUI_EVENT_CLOSE
  75. Exit
  76. EndSelect
  77.  
  78. If GUICtrlRead($KeyBMouse)=$GUI_CHECKED Then
  79. MouseKeyb()
  80. Else
  81. MouseKeybNO()
  82. EndIf
  83.  
  84. If GUICtrlRead($Mag)=$GUI_CHECKED Then
  85. GUICtrlSetState($RB_Window,$GUI_DISABLE)
  86. GUICtrlSetState($Solid,$GUI_ENABLE)
  87. GUICtrlSetState($Inver,$GUI_ENABLE)
  88. GUICtrlSetState($RB_Full,$GUI_CHECKED)
  89. WinSetState($MyhWnd,"",@SW_SHOW)
  90. MAG()
  91.  
  92. Else
  93. GUICtrlSetState($Solid,$GUI_DISABLE+$GUI_UNCHECKED)
  94. GUICtrlSetState($Inver,$GUI_DISABLE+$GUI_UNCHECKED)
  95. GUICtrlSetState($RB_Window,$GUI_ENABLE)
  96. WinSetState($MyhWnd,"",@SW_HIDE)
  97. EndIf
  98. If GUICtrlRead($RB_Full) = $GUI_CHECKED Then
  99. Opt("MouseCoordMode", 1)
  100. Opt("PixelCoordMode", 1)
  101. $pos=MouseGetPos()
  102. $color=PixelGetColor($pos[0],$pos[1])
  103. GUICtrlSetData($MousePosX, $pos[0])
  104. GUICtrlSetData($MousePosY, $pos[1])
  105. GUICtrlSetData($PixelColor,$color)
  106. $HEX6=StringRight(Hex($color),6)
  107. GUICtrlSetData($hexColor,"0x"&$HEX6)
  108. GUICtrlSetBkColor($MostrarColor,"0x"&Hex($color))
  109. Else
  110. Opt("MouseCoordMode", 0)
  111. Opt("PixelCoordMode", 0)
  112. Opt("WinTitleMatchMode",1)
  113. $win = WinGetPos("")
  114. $pos=MouseGetPos()
  115. If $pos[0] >= 0 And $pos[0] <= $win[2] and $pos[1] >= 0 And $pos[1] <= $win[3] Then
  116. $color=PixelGetColor($pos[0],$pos[1])
  117. GUICtrlSetData($MousePosX, $pos[0])
  118. GUICtrlSetData($MousePosY, $pos[1])
  119. GUICtrlSetData($PixelColor,$color)
  120. $HEX6=StringRight(Hex($color),6)
  121. GUICtrlSetData($hexColor,"0x"&$HEX6)
  122. GUICtrlSetBkColor($MostrarColor,"0x"&Hex($color))
  123. Else
  124. GUICtrlSetData($MousePosX, "----")
  125. GUICtrlSetData($MousePosY, "----")
  126. GUICtrlSetData($PixelColor,"")
  127. GUICtrlSetData($hexColor,"")
  128. EndIf
  129. EndIf
  130. WEnd
  131. EndFunc
  132.  
  133. Func TogglePause()
  134. $Paused = NOT $Paused
  135. While $Paused
  136. sleep(10)
  137. $msg=GUIGetMsg()
  138. Select
  139. Case $msg=$GUI_EVENT_CLOSE
  140. Exit
  141. EndSelect
  142. WEnd
  143. EndFunc
  144.  
  145. Func MAG()
  146. $MyHDC = DLLCall("user32.dll","int","GetDC","hwnd",$MyhWnd)
  147. If @error Then Return
  148. $DeskHDC = DLLCall("user32.dll","int","GetDC","hwnd",0)
  149. If Not @error Then
  150. $xy = MouseGetPos()
  151. If Not @error Then
  152. $l = $xy[0]-10
  153. $t = $xy[1]-10
  154. DLLCall("gdi32.dll","int","StretchBlt","int",$MyHDC[0],"int",0,"int",0,"int",100,"int",100,"int",$DeskHDC[0],"int",$l,"int",$t,"int",20,"int",20,"long",$SRCCOPY)
  155. If $xy[0]<(@DesktopWidth-120) then
  156. $XArea= $xy[0] + 20
  157. Else
  158. $XArea= $xy[0] - 120
  159. EndIf
  160. If $xy[1]<(@DesktopHeight-120) then
  161. $YArea= $xy[1] + 20
  162. Else
  163. $YArea= $xy[1] - 120
  164. EndIf
  165. WinMove($myhwnd, "",$XArea,$YArea , 100, 100)
  166. If GUICtrlRead($Solid)=$GUI_CHECKED Then
  167. CrossHairsSOLID($MyHDC[0])
  168. EndIf
  169. If GUICtrlRead($Inver)=$GUI_CHECKED Then
  170. CrossHairsINV($MyHDC[0])
  171. EndIf
  172. EndIf
  173. DLLCall("user32.dll","int","ReleaseDC","int",$DeskHDC[0],"hwnd",0)
  174. EndIf
  175. DLLCall("user32.dll","int","ReleaseDC","int",$MyHDC[0],"hwnd",$MyhWnd)
  176. EndFunc
  177.  
  178. Func Ayuda()
  179. MsgBox(0,"Pomoc","*Użyj przybliżenia dla większej precyzji." & @CRLF & "" & @CRLF & "*Użyj opcji 'Steruj klawiaturą' dla większej precyzji." & @CRLF & " -Trzymanie wciśniętych klawiszy strzałek zwiększa prędkość przemieszczania się kursora." & @CRLF & " -Shift+'klawisz strzałki' zwiększa szybkość przemieszczania się kursora." & @CRLF & "" & @CRLF & "*Użyj opcji 'Wpisz pozycję' aby przenieść kursor na odpowiedni piksel." & @CRLF & @CR&"*Wciśnij klawisz PAUSE aby zablokować lub odblokować program." & @CRLF & "" & @CRLF &"*Wciśinij klawisz INSERT aby skopiowac kod HEX do schowka.")
  180. EndFunc
  181.  
  182. Func Saltar()
  183. Do
  184. $SaltarCord=InputBox("Wpisz pozycję","Wpisz pozycję piksela, do którego chcesz przenieść kursor."&@CRLF&"Przykład: 123,420",MouseGetPos(0)&","&MouseGetPos(1),"",150,150)
  185. $CoordsM=StringSplit($SaltarCord,",")
  186. Until @error OR ($CoordsM[1]<=@DesktopWidth AND $CoordsM[2]<=@DesktopHeight)
  187. if not @error Then
  188. BlockInput(1)
  189. MouseMove($CoordsM[1],$CoordsM[2])
  190. BlockInput(0)
  191. EndIf
  192. EndFunc
  193.  
  194. Func MouseKeyb()
  195.  
  196. HotKeySet("+{UP}", "_UpArrow")
  197. HotKeySet("{UP}", "_UpArrow")
  198. HotKeySet("+{DOWN}", "_DownArrow")
  199. HotKeySet("{DOWN}", "_DownArrow")
  200. HotKeySet("+{LEFT}", "_LeftArrow")
  201. HotKeySet("{LEFT}", "_LeftArrow")
  202. HotKeySet("+{RIGHT}", "_RightArrow")
  203. HotKeySet("{RIGHT}", "_RightArrow")
  204. EndFunc
  205.  
  206. Func MouseKeybNO()
  207. HotKeySet("+{UP}")
  208. HotKeySet("{UP}")
  209. HotKeySet("+{DOWN}")
  210. HotKeySet("{DOWN}")
  211. HotKeySet("+{LEFT}")
  212. HotKeySet("+{LEFT}")
  213. HotKeySet("{LEFT}")
  214. HotKeySet("+{RIGHT}")
  215. HotKeySet("{RIGHT}")
  216. EndFunc
  217.  
  218. Func nada()
  219. EndFunc
  220.  
  221. Func _copyHEX()
  222. ClipPut(Guictrlread($hexColor))
  223. EndFunc;==>_ShowInfo
  224.  
  225. Func _UpArrow()
  226. Local $MousePos = MouseGetPos()
  227. If _IsPressed(10) Then
  228. $i = 10
  229. Else
  230. $i = 1
  231. EndIf
  232.  
  233. If $MousePos[1] > 0 Then
  234. _BoostMouseSpeed()
  235. MouseMove($MousePos[0], $MousePos[1] - ($MouseModifier * $i), 1)
  236. EndIf
  237. EndFunc;==>_UpArrow
  238.  
  239. Func _DownArrow()
  240. If _IsPressed(10) Then
  241. $i = 10
  242. Else
  243. $i = 1
  244. EndIf
  245.  
  246. Local $MousePos = MouseGetPos()
  247. If $MousePos[1] < @DesktopHeight Then
  248. _BoostMouseSpeed()
  249. MouseMove($MousePos[0], $MousePos[1] + ($MouseModifier * $i),1)
  250. EndIf
  251. EndFunc;==>_DownArrow
  252.  
  253. Func _LeftArrow()
  254. If _IsPressed(10) Then
  255. $i = 10
  256. Else
  257. $i = 1
  258. EndIf
  259.  
  260. Local $MousePos = MouseGetPos()
  261. If $MousePos[0] > 0 Then
  262. _BoostMouseSpeed()
  263. MouseMove($MousePos[0] - ($MouseModifier * $i), $MousePos[1],1)
  264. EndIf
  265. EndFunc;==>_LeftArrow
  266.  
  267. Func _RightArrow()
  268. If _IsPressed(10) Then
  269. $i = 10
  270. Else
  271. $i = 1
  272. EndIf
  273.  
  274. Local $MousePos = MouseGetPos()
  275. If $MousePos[0] < @DesktopWidth Then
  276. _BoostMouseSpeed()
  277. MouseMove($MousePos[0] + ($MouseModifier * $i), $MousePos[1],1)
  278. EndIf
  279. EndFunc;==>_RightArrow
  280.  
  281. Func _BoostMouseSpeed()
  282. If IsInt($PressedTime / 10) Then
  283. $MouseModifier = $MouseModifier + 1
  284. $PressedTime = $PressedTime + 1
  285. Else
  286. $PressedTime = $PressedTime + 1
  287. EndIf
  288. EndFunc
  289.  
  290. Func _ResetSpeed()
  291. $MouseModifier = 1
  292. $PressedTime = 1
  293. EndFunc;==>_ResetSpeed
  294.  
  295. Func CrossHairsSOLID(ByRef $hdc)
  296. Local $hPen, $hPenOld
  297. $hPen = DllCall("gdi32.dll","hwnd","CreatePen","int",0,"int",5,"int",0x555555)
  298. $hPenOld = DllCall("gdi32.dll","hwnd","SelectObject","int",$hdc,"hwnd",$hPen[0])
  299. DLLCall("gdi32.dll","int","MoveToEx","int",$hdc,"int",52,"int",0,"ptr",0)
  300. DLLCall("gdi32.dll","int","LineTo","int",$hdc,"int",52,"int",46)
  301. DLLCall("gdi32.dll","int","MoveToEx","int",$hdc,"int",52,"int",58,"ptr",0)
  302. DLLCall("gdi32.dll","int","LineTo","int",$hdc,"int",52,"int",100)
  303. DLLCall("gdi32.dll","int","MoveToEx","int",$hdc,"int",0,"int",52,"ptr",0)
  304. DLLCall("gdi32.dll","int","LineTo","int",$hdc,"int",46,"int",52)
  305. DLLCall("gdi32.dll","int","MoveToEx","int",$hdc,"int",58,"int",52,"ptr",0)
  306. DLLCall("gdi32.dll","int","LineTo","int",$hdc,"int",100,"int",52)
  307. DllCall("gdi32.dll","hwnd","SelectObject","int",$hdc,"hwnd",$hPenOld[0])
  308. DllCall("gdi32.dll","int","DeleteObject","hwnd",$hPen[0])
  309. EndFunc
  310.  
  311. Func CrossHairsINV(ByRef $hdc)
  312. ;~ Local CONST $NOTSRCCOPY = 0x3300087
  313. DLLCall("gdi32.dll","int","BitBlt","int",$hdc,"int",50,"int",0,"int",5,"int",49,"int",$hdc,"int",50,"int",0,"int",$NOTSRCCOPY)
  314. DLLCall("gdi32.dll","int","BitBlt","int",$hdc,"int",50,"int",56,"int",5,"int",49,"int",$hdc,"int",50,"int",56,"int",$NOTSRCCOPY)
  315. DLLCall("gdi32.dll","int","BitBlt","int",$hdc,"int",0,"int",50,"int",49,"int",5,"int",$hdc,"int",0,"int",50,"int",$NOTSRCCOPY)
  316. DLLCall("gdi32.dll","int","BitBlt","int",$hdc,"int",56,"int",50,"int",44,"int",5,"int",$hdc,"int",56,"int",50,"int",$NOTSRCCOPY)
  317. EndFunc
  318.  
  319. Func _exit()
  320. Exit
  321. EndFunc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement