全屏找图【示例讲解】

; 有的电脑用SysGet可能导致无法找到图片,可以用F1示例的A_ScreenWidth和A_ScreenHeight代替
SysGet, VirtualWidth, 78 ; 虚拟屏幕的宽度和高度, 单位为像素. 虚拟屏幕是所有监视器的边框
SysGet, VirtualHeight, 79 ; 度量是虚拟屏幕左上角的坐标

; F1键 简易版【A_ScreenWidth是主监视器宽度、A_ScreenHeight是主监视器高度】
F1::
CoordMode Pixel ; 设置找图坐标系为全屏找图
ImageSearch, 返回坐标X, 返回坐标Y, 0, 0, A_ScreenWidth, A_ScreenHeight, D:/截图.bmp
if (ErrorLevel=0) { ; 如果没有报错就执行,=1是没找到 =2是其他错误
    MsgBox 找到了`n`nX坐标:%返回坐标X%,Y坐标:%返回坐标Y%
 } else {
    MsgBox 没找到
 }
Return

; F2键 复杂版【带鼠标点击和归位】视频教程:https://www.bilibili.com/video/BV1mf4y1v7nQ
F2::
__ImageFilePath:="D:/截图.bmp" ;截图的位置
Gui, Add, Picture,hwnd__mypic,%__ImageFilePath%  ; 用截图创建一个Gui控件实现鼠标归位
if FileExist(__ImageFilePath) {
    Controlgetpos,,,__img_w,__img_h,,ahk_id %__mypic% ; __img_w和__img_h用来存储控件的宽和高,ahk_id表示控件的唯一id
    CoordMode Pixel ; 设置找图坐标系为全屏找图
    ImageSearch, __FoundX, __FoundY, 0, 0, VirtualWidth, VirtualHeight,%__ImageFilePath% ;识别图片的左上角的xy坐标存储在__FoundX, __FoundY.
    CoordMode Mouse ; 设置坐标模式, 相对于屏幕
    PicX:=__FoundX + __img_w/2 ; 搜索到的图片的x坐标加上截取的图片一半的长度
    PicY:=__FoundY + __img_h/2 ; 搜索到的图片的y坐标加上截取的图片一半的宽度
    if (ErrorLevel=0) { ; 如果没有报错就执行,=1是没找到 =2是其他错误
        MouseGetPos, NowX, NowY ; 获取当前鼠标xy坐标
        Click %PicX%, %PicY%, 1 ; 此处为点击找到的目标【1为鼠标点击一次】
        Click %NowX%, %NowY%, 0 ; 此处为鼠标返回点击前的位置【0为鼠标不点击】
     } else {
	    MsgBox 没找到
    }
 } else {
    MsgBox 图片文件不存在,请检查截图文件是否存放正确
}
Return

给TA捐赠
共{{data.count}}人
人已捐赠
AHKV1应用教程

【娱乐至上】存剪切板内容到文件

2022-1-12 0:34:30

AHKV1

AHK右键菜单中文化带图标

2022-1-13 9:50:21

3 条回复 A文章作者 M管理员
  1. yukingzou

    谢谢大神分享,学习

  2. 白云朵朵

    谢谢大佬分享

  3. 11010010

    视频可以直接插进来

个人中心
有新私信 私信列表
搜索