阴阳师魂十挂机实现(后台句柄截屏+鼠标点击)
已弃坑,可加群 437027234 白嫖其他大佬的分享,加群暗号:嘤嘤嘤
学习繁忙,但是作为痒痒鼠的忠实粉,抽空写了个小脚本,后台挂机魂十,业原火,御灵,觉醒,还是美滋滋的。
脚本实现的关键主要有两部分:一是通过句柄后台获得截图,二是通过句柄后台对窗口发送鼠标点击消息或者按键消息
由于一直在电脑旁,会是不是往角落瞅瞅,所以并不是特别完美,比如悬赏会中断(人懒没有加判断)。
关于通过句柄截图网上有很多,我自己也写过https://blog.csdn.net/u011809553/article/details/80480870
关于通过窗口发送点击消息:
可用如下函数
SendMessage(hWnd, WM_LBUTTONDOWN, MK_LBUTTON, RightPoint);SendMessage(hWnd, WM_LBUTTONUP, NULL, RightPoint);
LPARAM RightPoint = MAKELPARAM(627, 136); //x坐标,y坐标
其中hwnd是窗口句柄,RightPoint是以窗口左上角为(0,0)的坐标,注意按键都是配对的,先按下,再松开。
这两天忙,不多写,过几天补上详细内容。
注意:该版本只支持2018年上半年及之前版本的MuMu模拟器,后面版本的位置参数有所修改
直接上源码:https://download.csdn.net/download/u011809553/10442660
编译好的exe:https://download.csdn.net/download/u011809553/10442653
更新后MuMu版本:(还有就是在win10上试了下,桌面版可以获取到截图了)
源码:https://download.csdn.net/download/u011809553/10893069
编译后exe:https://download.csdn.net/download/u011809553/10897613
积分不足的,去gitbub下载:https://github.com/liang-2018/YYS-ASSISTANT/releases/tag/20190409
注意:大多系统需要管理员权限才能获取到截图
另外,貌似联想笔记本win7目前发现无法获取到截图,原因,我也不知道,哈哈!
20181202更新:(后面使用的opencv3,部分Mat的转换方式有所不同)
在 GetRegionMat 函数用于截图的部分,由于内存分配有opencv执行,需要手动释放内存,
其代码如下:
Mat CWindowsScreenShotDlg::GetRegionMat(HWND hWnd)
{extern int m_windowFlag;HDC hDC = ::GetWindowDC(hWnd);ASSERT(hDC);HDC hMemDC = ::CreateCompatibleDC(hDC);ASSERT(hMemDC);RECT rc;::GetWindowRect(hWnd, &rc);BITMAP bitmap = { 0 };HBITMAP hBitmap = ::CreateCompatibleBitmap(hDC, rc.right - rc.left, rc.bottom - rc.top);ASSERT(hBitmap);HBITMAP hOldBmp = (HBITMAP)::SelectObject(hMemDC, hBitmap);//::BitBlt(hMemDC,0,0,rc.right-rc.left,rc.bottom-rc.top,hDC,0,0,SRCCOPY);::PrintWindow(hWnd, hMemDC, 0);//获取截图::GetObject(hBitmap, sizeof(BITMAP), &bitmap);//猜测这个地方,图片已经赋值给bitmap完毕了/*将bitmap格式图片转换为IplImage,便于处理*/int depth = (bitmap.bmBitsPixel == 1) ? IPL_DEPTH_1U : IPL_DEPTH_8U;int nChannels = (bitmap.bmBitsPixel == 1) ? 1 : bitmap.bmBitsPixel / 8;IplImage* img = cvCreateImage(cvSize(bitmap.bmWidth, bitmap.bmHeight), depth, nChannels);BYTE *pBuffer = new BYTE[bitmap.bmHeight*bitmap.bmWidth*nChannels];GetBitmapBits(hBitmap, bitmap.bmHeight*bitmap.bmWidth*nChannels, pBuffer);memcpy(img->imageData, pBuffer, bitmap.bmHeight*bitmap.bmWidth*nChannels);delete[]pBuffer;IplImage *dst = cvCreateImage(cvGetSize(img), img->depth, 3);cvCvtColor(img, dst, CV_BGRA2BGR);cvReleaseImage(&img);::SelectObject(hMemDC, hOldBmp);::DeleteObject(hBitmap);::DeleteObject(hMemDC);::ReleaseDC(hWnd, hDC);if (1 == m_windowFlag){ Mat returnPic = cvarrToMat(dst, true)(Rect(0, 18, 856, 538));cvReleaseImage(&dst);return returnPic;}else{Mat returnPic = cvarrToMat(dst, true);cvReleaseImage(&dst);return returnPic;}
}
阴阳师魂十挂机实现(后台句柄截屏+鼠标点击)相关推荐
- 后台隐身自动屏幕截图、后台自动屏幕截图、后台自动截屏、隐身自动截屏、后台监控软件(带有密码保护)—— 定时执行专家
目录 1.后台自动截屏的需求 2.后台自动保存屏幕截图的软件 2.1 后台自动截屏设定方法 2.2 让<定时执行专家>开机自动启动.自动隐身 2.3 不能截全屏的问题 3.软件的下载及安装 ...
- 推荐几款隐身后台自动截屏软件
目录 一.背景 二.定时执行专家 三.Snipaste 命令行截图 四.Screenmonitor 一.背景 很多的公司白领.做程序开发的码农.学校的老师和学生,每天都要在电脑前工作好久,时光流逝的悄 ...
- Windows定时截屏、后台自动截屏工具,带有密码保护功能 —— 定时执行专家
目录 一.软件简介 二.使用教程 1.软件下载 2.软件的安装方法 3.无察觉自动截屏(例如:间隔每 10分钟,执行 1次) 一.软件简介 <定时执行专家>是一款制作精良.功能强大.简单易 ...
- 自动隐藏、后台自动截屏、带有密码保护的监视软件 —— 定时执行专家
[目录] 一.自动截屏功能说明 二.自动隐身.无察觉截屏设定说明 三.软件的下载及安装使用 [正文] 一.自动截屏功能说明 想要知道孩子在使用电脑的时候都在干什么吗?想知道都在和谁聊天吗?想知道都在聊 ...
- javaFx实现截屏——鼠标拖动选择截屏区域进行截屏,任意界面按下快捷键截屏,截屏完成后显示截屏图片
系列文章专栏:javafx图形绘制.桌面录屏录音源码合集 目录 一.实现的效果 二.实现思路 三.代码实现 <
- 在后台定时连续截屏的工具 —— 定时执行专家
目录 一.背景 二.定时执行专家 1. 后台自动截屏设定方法 2. 最新版下载 一.背景 很多的公司白领.做程序开发的码农.学校的老师和学生,每天都要在电脑前工作好久,时光流逝的悄无声息,如果想要回忆 ...
- 【电脑常用办公软件】万彩办公大师教程丨截屏大师工具的应用
关于截屏大师 截屏大师支持自动捕获全屏幕或部分屏幕区域的截图并进行简单编辑和裁剪,截屏生成多种格式图象文件(bmp/png/jpg/tif).能定时截屏,间隔时间由用户自定义或用默认值,后台静默运行, ...
- Android实现截屏方式
本文介绍了Android 实现截屏方式整理,分享给大家.希望对大家有帮助 可能的需求: 截自己的屏 截所有的屏 带导航栏截屏 不带导航栏截屏 截屏并编辑选取一部分 自动截取某个空间或者布局 截取长图 ...
- android获取activity截图,Android Activity 不能被截屏的解决方法
Android Activity 不能被截屏的解决方法 在Activity 添加即可 getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECU ...
最新文章
- EfficientNetV2:更小,更快,更好的EfficientNet
- 关于范式的一些简单理解
- C指针原理(5)-ATT汇编
- deepin安装卡死在蓝色背景_求大神帮助~安装DEEPIN系统卡在蓝色背景图什么原因...
- docker修改容器名字
- 《Python编程:从入门到实践》速查表
- JSP根据状态动态改变数据表格按钮
- golang 学习笔记
- HTTP Status 500 - {msg=SolrCore 'collection1' is not available due to init failure: Could not load c
- arch linux 安装xfce_华为荣耀Magicbook安装Manjaro系统指北
- 刚刚,“国民”APP微信崩了!官方致歉:已经逐步恢复
- java 跳表_跳表 skiplist
- 住170平以上的大平层大户型什么感觉?
- 嵌入式工具——iperf
- timeout参数使用,转贴
- 来,新手们,Internet Download Manager,艺术升华
- 重拾javascript动态客户端网页脚本
- yota3墨水屏设置_【YotaPhone2 手机使用总结】墨水屏|操作|桌面投射|第三方_摘要频道_什么值得买...
- 价值投资3原则:内在价值、安全边际和市场波动
- VBA—EXCEL操作集合—07
热门文章
- PhotoShop,CSS 文字间距 与像素之间的换算
- 7-1 计算职工工资c语言,C语言职工工资管理系统
- uac管理员程序_有启用UAC的管理员快速打开程序的方法吗?
- 静态路由,缺省路由和默认网关的区别
- php validate,jQuery Validate | 菜鸟教程
- 缅因大学欧洛诺分校计算机科学,缅因大学申请要求高不高?开学时间是什么时候?...
- Linux系统下detectron2安装(cuda11为例)
- CITA Release v0.18
- Stimulsoft reports 2022.4.2
- C++判断两个链表是否相交算法