屏幕取色器

;~ 作者: Fonny
;~ Email: 8109875@qq.com
;~ Update: 2015-1-19
;~ 功能:
;~ 提取鼠标指向点的颜色,热键复制到剪贴板,粘贴到AHK脚本可直接测试.
;~ 多级降速移动鼠标,跟随一个tooltip提示框显示当前指向的顶级窗口,坐标,以及颜色值等数据.


#NoEnv
#Warn
;~ #NoTrayIcon
#SingleInstance, Force
SetWorkingDir, %A_ScriptDir%
SetBatchLines, -1
CoordMode, Pixel, Screen

SetTimer, update , 250
return

;~ 移动一像素
^Left::
MS_Move("left")
return
^Right::
MS_Move("right")
return
^Up::
MS_Move("up")
return
^Down::
MS_Move("down")
return

;~ 移动十像素
^+Left::
MS_Move("left",10)
return
^+Right::
MS_Move("right",10)
return
^+Up::
MS_Move("up",10)
return
^+Down::
MS_Move("down",10)
return

;~ 移动100像素
^+!Left::
MS_Move("left",100)
return
^+!Right::
MS_Move("right",100)
return
^+!Up::
MS_Move("up",100)
return
^+!Down::
MS_Move("down",100)
return


#F12::
ExitApp
return

#F5::
Reload
return

MS_Move(drt,speed = 1)
{
	global msX, msY
	
	MouseGetPos, msX, msY
	if (drt = "left")
	{
		msX -= %speed%
	}
	else if (drt = "right")
	{
		msX += %speed%
	}
	else if (drt = "up")
	{
		msY -= %speed%
	}
	else if (drt = "down")
	{
		msY += %speed%
	}
	MouseMove , msX, msY
	return
}

;~ Ctrl + Alt + 鼠标左键 = 取色到剪贴板
^!LButton::
!F1::
saveColor:
SetTimer, update, off
ToolTip

clipBackup := ClipboardAll
Clipboard := ""

cStr := "CoordMode, Mouse, Client"
		. "`nCoordMode, Pixel, Client"
		. "`n_winTitleStr `:`= #c" winTitleStr "#c"
		. "`n_winClassStr `:`= #cahk_class " winClassStr "#c"
		. "`n_winTitle `:`= _winTitleStr A_Space _winClassStr"
		. "`nWinActivate, `%_winTitle`%"
		. "`n`;`~ Color:`n_cor `:`= #c"  colorVar  "#c"
		. "`n`;`~ Clien:`n_corX `:`= " mcX "`, _corY `:`= " mcY
		. "`n`;`~ Screen:`n`;`~ _corX `:`= " msX "`, _corY `:`= " msY 
		. "`n`;`~ Window:`n`;`~ _corX `:`= " mwX "`, _corY `:`= " mwY
		. "`nPixelGetColor, _corCur, `%_corX`%, `%_corY`%"
		;~ . "`nTrace`(_corCur`, 2`)"
		. "`nMsgBox, `% _corCur"
StringReplace, cStr, cStr, #c, ", All

Clipboard := cStr
ClipWait, 2
if ErrorLevel
{
	Clipboard := clipBackup
	trace("取色失败", 1, "屏幕取色器")
	return
}
clipboard := clipboard

if Trace("颜色成功保存到剪贴板!`n是否退出取色器`?"
. "`n`n点击确定:`n将还原剪贴板数据,`n请确认您查找的信息已经保存!"
. "`n`n单击取消:`n继续查找信息,`n本次的信息将丢失!"
,2, "退出屏幕取色器?")
{
	Clipboard := clipBackup
	ClipWait, 2
	if ErrorLevel
	{
		trace("还原剪贴板数据失败!`n`n请联系Fonny,谢谢!`nEmail`:8109875@qq.com",1,"还原剪贴板数据失败!")
	}
	ExitApp
}
;~ trace(colorVar,2)
SetTimer, update, 250
return

update:
WinGetActiveTitle, winTitleStr
WinGetClass, winClassStr, A
	CoordMode, Mouse, Screen
	MouseGetPos, msX, msY
	CoordMode, Mouse, Window
	MouseGetPos, mwX, mwY
	CoordMode, Mouse, Client
	MouseGetPos, mcX, mcY
	PixelGetColor, colorVar, %msX%, %msY%
	ToolTip, % "winTitleStr: " winTitleStr
			. "`nWinClass: ahk_class " winClassStr
			. "`nColor: `t " colorVar 
			. "`nClien: `t " mcX "`, " mcY
			. "`nScreen:`t " msX "`, " msY
			. "`nWindow: " mwX "`, " mwY
			. "`n`nHotKey:"			
			. "`nCtrl `+ 方向键:`t`t`t1像素进步移动鼠标光标"
			. "`nCtrl `+ Shift `+ 方向键:`t`t10像素进步移动鼠标光标"
			. "`nCtrl `+ Shift `+ Alt `+ 方向键:`t100像素进步移动鼠标光标"
			. "`nAlt `+ F1:`t保存窗口标题,鼠标下的颜色以及坐标数据到剪贴板"
			. "`nWin `+ F5:`t重启取色器"
			. "`nWin `+ F12:`t退出取色器"
return

给TA捐赠
共{{data.count}}人
人已捐赠
其他

小工具管理器_v1.2_by_LL

2020-3-9 2:19:44

其他

屏幕键盘

2020-3-9 2:21:44

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索