开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 217|回复: 10
收起左侧

[精币悬赏] 后台截图浏览器某个位置

[复制链接]
结帖率:95% (21/22)
发表于 5 天前 | 显示全部楼层 |阅读模式   四川省成都市
20精币
后台截图
就是浏览器是打开的最小化了,
后台截图某个浏览器页面的某个地方的文字或者数字识别到编辑框1

比如浏览器右上角有一个“当前血量100”,e语言截图这个固定右上角的地方,只截图“当前血量100”这个区域,然后显示到编辑框1的内容=当前血量100,每秒截图一次并且显示到编辑框

求大佬写一个,我实在是蠢的不知道怎么办了

结帖率:100% (1/1)

签到天数: 2 天

发表于 5 天前 | 显示全部楼层   湖南省邵阳市
图色不能最小化呀
回复

使用道具 举报

结帖率:95% (21/22)
 楼主| 发表于 5 天前 | 显示全部楼层   四川省成都市
小伟哥xw 发表于 2025-5-29 01:42
图色不能最小化呀

我的意思浏览器也可以不最小化,我玩其他游戏的时候他后台截图不影响我玩其他的游戏
回复

使用道具 举报

结帖率:60% (3/5)

签到天数: 2 天

发表于 5 天前 | 显示全部楼层   河南省焦作市
浏览器截图,显示在编辑框???你想说的是获取浏览器上的内容到编辑框吧,或者是截图显示在图片框
回复

使用道具 举报

结帖率:96% (22/23)

签到天数: 2 天

发表于 5 天前 | 显示全部楼层   湖北省武汉市
那你用网页填表去循环获取这个值不是更好吗,还可以最小化
回复

使用道具 举报

发表于 5 天前 | 显示全部楼层   河南省信阳市
回复

使用道具 举报

结帖率:95% (21/22)
 楼主| 发表于 4 天前 | 显示全部楼层   四川省成都市
haoren1212 发表于 2025-5-29 02:59
浏览器截图,显示在编辑框???你想说的是获取浏览器上的内容到编辑框吧,或者是截图显示在图片框 ...

对,就是截图显示到图片
回复

使用道具 举报

结帖率:95% (21/22)
 楼主| 发表于 4 天前 | 显示全部楼层   四川省成都市
多多多多 发表于 2025-5-30 22:27
对,就是截图显示到图片

就是浏览器打开,不最小化,我玩其他的游戏他可以后台截图不影响我玩其他的游戏
回复

使用道具 举报

结帖率:95% (21/22)
 楼主| 发表于 4 天前 | 显示全部楼层   四川省成都市
小埋 发表于 2025-5-29 09:57
那你用网页填表去循环获取这个值不是更好吗,还可以最小化

因为不会啊,
就是想着浏览器不最小化我玩其他游戏的时候他可以自己截图
回复

使用道具 举报

签到天数: 2 天

发表于 3 天前 | 显示全部楼层   四川省泸州市

下面是一个完整的易语言解决方案,使用精易模块实现后台截图,并结合大漠插件进行OCR文字识别。代码包含详细注释,实现每秒截图并显示到编辑框的功能:

.版本 2
.程序集 窗口程序集1
.程序集变量 dm, 对象
.程序集变量 窗口句柄, 整数型
.程序集变量 时钟句柄, 整数型
.程序集变量 客户区偏移_X, 整数型
.程序集变量 客户区偏移_Y, 整数型

.子程序 __启动窗口_创建完毕
    ' 请先注册大漠插件到系统 (dm.dll)
    是否成功 = dm.创建 ("dm.dmsoft", )
    .如果真 (是否成功 = 假)
        信息框 ("大漠插件创建失败,请确保dm.dll已注册!", 0, "错误", )
        结束 ()
    .如果真结束

    ' 设置字库和识别参数(根据实际情况调整)
    dm.SetPath (取运行目录 ())  ' 设置字库路径
    dm.SetDict (0, "字库.txt")  ' 使用0号字库

    ' 查找浏览器窗口句柄(根据你的窗口标题修改)
    窗口句柄 = 窗口_取句柄 (, , "Chrome_WidgetWin_1", "百du一下,你就知道 - Google Chrome")
    .如果真 (窗口句柄 = 0)
        信息框 ("未找到浏览器窗口!", 0, "错误", )
        结束 ()
    .如果真结束

    ' 获取客户区偏移(只需执行一次)
    获取客户区偏移 (窗口句柄, 客户区偏移_X, 客户区偏移_Y)

    ' 创建时钟每秒执行一次
    时钟句柄 = 时钟_创建 (1000, &截图识别)

.子程序 获取客户区偏移
.参数 窗口句柄, 整数型
.参数 偏移X, 整数型, 参考
.参数 偏移Y, 整数型, 参考
.局部变量 窗口矩形, 精易_矩形
.局部变量 客户区坐标, 精易_坐标

    ' 获取窗口位置
    窗口_取位置和大小 (窗口句柄, 窗口矩形)

    ' 转换客户区坐标
    ClientToScreen (窗口句柄, 0, 0, 客户区坐标)

    ' 计算偏移量
    偏移X = 客户区坐标.X - 窗口矩形.左边
    偏移Y = 客户区坐标.Y - 窗口矩形.顶边

.子程序 截图识别
.局部变量 全图, 字节集
.局部变量 区域图, 字节集
.局部变量 客户区宽度, 整数型
.局部变量 客户区高度, 整数型
.局部变量 截取区域, 精易_矩形
.局部变量 识别结果, 文本型

    ' 获取客户区大小
    GetClientRect (窗口句柄, 客户区宽度, 客户区高度)

    ' === 截图设置 ===
    ' 区域位置:右上角 (根据你的实际位置调整)
    截取区域.左边 = 客户区宽度 - 150  ' 从右边向左150像素
    截取区域.顶边 = 10    ' 从顶部向下10像素
    截取区域.右边 = 150   ' 区域宽度
    截取区域.底边 = 30   ' 区域高度

    ' 后台截图(即使最小化也能截图)
    全图 = 窗口_截图 (窗口句柄, , , , 真)

    ' 裁剪指定区域
    区域图 = 图片_裁剪 (全图, 客户区偏移_X + 截取区域.左边, 客户区偏移_Y + 截取区域.顶边, 截取区域.右边, 截取区域.底边)

    ' 保存临时图片(用于OCR识别)
    写到文件 ("temp.bmp", 区域图)

    ' 使用大漠插件识别文字
    识别结果 = dm.Ocr ("temp.bmp", "000000-000000", 0.9)

    ' 显示到编辑框
    编辑框1.内容 = 识别结果

    ' 调试用:显示截图
    ' 图片框1.图片 = 区域图

.子程序 __启动窗口_将被销毁
    时钟_销毁 (时钟句柄)  ' 清除时钟

' ===== 精易模块命令声明 =====
.子程序 窗口_取句柄, 整数型, 公开, 查找窗口句柄
.参数 父句柄, 整数型, 可空
.参数 子句柄, 整数型, 可空
.参数 类名, 文本型, 可空
.参数 标题, 文本型, 可空

.子程序 窗口_截图, 字节集, 公开, 后台截图
.参数 窗口句柄, 整数型
.参数 左边, 整数型, 可空
.参数 顶边, 整数型, 可空
.参数 宽度, 整数型, 可空
.参数 后台, 逻辑型, 可空

.子程序 窗口_取位置和大小, , 公开
.参数 窗口句柄, 整数型
.参数 左边, 整数型, 参考 可空
.参数 顶边, 整数型, 参考 可空
.参数 宽度, 整数型, 参考 可空
.参数 高度, 整数型, 参考 可空

.子程序 图片_裁剪, 字节集, 公开
.参数 图片, 字节集
.参数 左边, 整数型
.参数 顶边, 整数型
.参数 宽度, 整数型
.参数 高度, 整数型

.子程序 ClientToScreen, 逻辑型, 公开
.参数 窗口句柄, 整数型
.参数 客户X, 整数型
.参数 客户Y, 整数型
.参数 屏幕坐标, 精易_坐标, 参考

.子程序 GetClientRect, 逻辑型, 公开
.参数 窗口句柄, 整数型
.参数 宽度, 整数型, 参考
.参数 高度, 整数型, 参考

使用说明:

  1. 准备工作

    • 下载安装精易模块
    • 注册大漠插件(dm.dll)到系统(使用管理员运行命令:regsvr32 dm.dll
  2. 参数调整

    • 修改窗口标题:将代码中的"百du一下,你就知道 - Google Chrome"改为你的浏览器窗口标题
    • 调整截图区域:修改截取区域的坐标参数
      截取区域.左边 = 客户区宽度 - 150  ' 从右边向左150像素
      截取区域.顶边 = 10    ' 从顶部向下10像素
      截取区域.右边 = 150   ' 区域宽度
      截取区域.底边 = 30   ' 区域高度
  3. 字库制作

    • 使用大漠综合工具制作字库
    • 将字库文件命名为字库.txt放在程序目录
    • 或删除dm.SetDict行使用默认识别
  4. 运行效果

    • 程序每秒自动截图指定区域
    • 识别文字显示在编辑框1中
    • 可取消注释图片框1行显示实时截图

常见问题解决:

  1. 识别不准

    • 使用大漠综合工具制作专用字库
    • 调整识别参数:dm.Ocr("temp.bmp", "000000-000000", 0.9)
    • 增加偏色范围(如"000000-202020"
  2. 截图失败

    • 确保窗口标题正确
    • 尝试不同的截图方式:
      全图 = 窗口_截图 (窗口句柄, 0, 0, 0, 真)  ' 后台截图
      ' 或
      全图 = 窗口_截图 (窗口句柄, 0, 0, 0, 假) ' 前台截图
  3. 性能优化

    • 增加延时:时钟_创建(2000, &截图识别)
    • 缩小截图区域尺寸
    • 使用内存识别代替保存文件

注意:首次使用需关闭杀毒软件,某些安全软件会阻止后台截图操作。此方案支持主流浏览器(Chrome/Edge/Firefox)最小化状态截图。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表