AutoIt 脚本小试——刷网易云音乐歌单
AutoIt 确实是个很强大的脚本工具。
如果早知道有这个,当初是怎么都不会去学易语言的 (๑•̀ω•́๑)
这是个简单脚本 = ๛ก(ー̀ωー́ก)
用来增加歌单播放次数和个人的听歌量。
原理不过是模拟鼠标点击去播放歌单,循环完几支歌单跳到私人FM去播放音乐。
为什么要用这么笨的方法呢?实在是因为不会反编译,不然就直接用C++写个外挂hook关键函数很快就搞定了,大神一定就是这么做的
可我不是,只能这样了。 (,,•́.•̀,,)
- #Region ;**** 参数创建于 ACNWrapper_GUI ****
- #PRE_icon=C:\windows\syswow64\SHELL32.dll|-44
- #PRE_UseX64=y
- #PRE_Change2CUI=y
- #PRE_Res_requestedExecutionLevel=None
- #EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
- #include <AutoItConstants.au3>
- Local $version = 1;
- ;version 为1,网易云2.0以上版本
- ;version 为0,网易云1.9.X版本
- ;不同版本,坐标略有不同,故区分
- ;启动主线程
- Main()
- Func Main()
- ;循环执行N次,N为要刷的歌单数量
- Local $N = 8
- For $i = 1 To $N
- ;检查网易云状态,并激活窗口
- CheckWind()
- ;歌单播放
- Playlist($i)
- ;执行间隔3秒
- Sleep(1000 * 3)
- If $i = $N Then
- ;私人FM播放
- PlayFM()
- ;关闭窗口
- WinClose("[CLASS:OrpheusBrowserHost]")
- Exit
- EndIf
- Next
- EndFunc
- Func PlayFM()
- ;移动鼠标到左侧列表位置
- If($version) Then
- MouseMove(50, 136, 0)
- Else
- MouseMove(50, 126, 0)
- EndIf
- ; 鼠标滚轮往上 12 次,到达列表顶部
- MouseWheel($MOUSE_WHEEL_UP, 12)
- ;停止歌单播放
- Send("{MEDIA_STOP}")
- Sleep(500)
- ;打开其它页面
- If($version) Then
- MouseClick($MOUSE_CLICK_LEFT, 50, 400)
- Else
- MouseClick($MOUSE_CLICK_LEFT, 50, 268)
- EndIf
- Sleep(1000)
- ;点击私人FM
- If($version) Then
- MouseClick($MOUSE_CLICK_LEFT, 50, 138)
- Else
- MouseClick($MOUSE_CLICK_LEFT, 50, 126)
- EndIf
- Sleep(1000)
- ;播放下一首
- Send("{MEDIA_NEXT}")
- Sleep(1000)
- EndFunc ;==>私人FM播放
- Func Playlist($i)
- ;获取窗口坐标
- ;Local $aPos = WinGetPos("[ACTIVE]")
- ;移动鼠标到左侧列表位置
- If($version) Then
- MouseMove(100, 500, 0)
- Else
- MouseMove(100, 428, 0)
- EndIf
- ; 鼠标滚轮往上 12 次,到达列表顶部
- MouseWheel($MOUSE_WHEEL_UP, 12)
- Sleep(500)
- $tVar = Floor($i /3)
- If($tVar) Then
- ; 鼠标滚轮往下滚动,每次100像素
- MouseWheel($MOUSE_WHEEL_DOWN, $tVar)
- If($version) Then
- MouseMove(100, 500 + 32*$i - 100 * $tVar, 0)
- Else
- MouseMove(100, 428 + 26*$i - 100 * $tVar, 0)
- EndIf ;
- Else
- If($version) Then
- MouseMove(100, 500 + 32*$i, 0)
- Else
- MouseMove(100, 428 + 26*$i, 0)
- EndIf ;
- EndIf
- MouseClick( $MOUSE_CLICK_RIGHT)
- Sleep(500)
- Send("{ENTER}")
- EndFunc ;==>歌单播放
- Func CheckWind()
- ;检查网易云是否启动
- If WinExists("[CLASS:OrpheusBrowserHost]") Then
- ;MsgBox($MB_SYSTEMMODAL, "", "已经启动")
- Else
- ;未启动则手动启动
- Run("cloudmusic.exe")
- ;等待窗口出现.
- WinWaitActive("[CLASS:OrpheusBrowserHost]", "", 10)
- Sleep(3000)
- EndIf
- ;显示窗口
- WinSetState("[CLASS:OrpheusBrowserHost]", "", @SW_SHOW)
- ;最大化窗口
- WinSetState("[CLASS:OrpheusBrowserHost]", "", @SW_MAXIMIZE )
- ;激活窗口
- WinActivate("[CLASS:OrpheusBrowserHost]")
- EndFunc ;==>状态检查
脚本在以下环境测试通过:
Win7 64位 + 网易云2.1.2原版
Win Server 2008 64位 + 网易云1.9.4绿色版
AutoIt 脚本小试——刷网易云音乐歌单的更多相关文章
- Python数据可视化:网易云音乐歌单
通过Python对网易云音乐华语歌单数据的获取,对华语歌单数据进行可视化分析. 可视化库不采用pyecharts,来点新东西. 使用matplotlib可视化库,利用这个底层库来进行可视化展示. 推荐 ...
- 【Python3爬虫】网易云音乐歌单下载
一.目标: 下载网易云音乐热门歌单 二.用到的模块: requests,multiprocessing,re. 三.步骤: (1)页面分析:首先打开网易云音乐,选择热门歌单,可以看到以下歌单列表,然后 ...
- python爬取网易云音乐歌单音乐
在网易云音乐中第一页歌单的url:http://music.163.com/#/discover/playlist/ 依次第二页:http://music.163.com/#/discover/pla ...
- 抓取QQ音乐歌单
抓取QQ音乐歌单1.通过分析歌曲下载路径来分析所需参数: 通过比较, 得出其中歌曲下载url与参数vkey是可变的,歌曲下载url中可变得值是请求歌单返回的歌曲数据的strMediaMid参数, 而v ...
- 【java+selenium】网易云音乐刷累计听歌数
背景应该是在去年的时候,刷知乎看到一个问题,大概是说怎么刷网易云音乐个人累计听歌数,然后有一个高赞回答,贴了一段js代码,直接在浏览器console执行就可以了.当时试了下,直接一下子刷了有好几万.悲 ...
- 使用网易云音乐,丢掉QQ音乐吧
我是一个听音乐的重度用户,基本上每天大约有三分之一的时间里我在使用网易云音乐去听音乐.包括工作写代码的时候,跑步的时候,去上班的途中我都去听.首先需要声明的是,在这里我不是故意的去抹黑其他的音乐产品, ...
- 《云阅》一个仿网易云音乐UI,使用Gank.Io及豆瓣Api开发的开源项目
CloudReader 一款基于网易云音乐UI,使用GankIo及豆瓣api开发的符合Google Material Desgin阅读类的开源项目.项目采取的是Retrofit + RxJava + ...
- 爬虫实战(二) 用Python爬取网易云歌单
最近,博主喜欢上了听歌,但是又苦于找不到好音乐,于是就打算到网易云的歌单中逛逛 本着 "用技术改变生活" 的想法,于是便想着写一个爬虫爬取网易云的歌单,并按播放量自动进行排序 这篇 ...
- 用其他音乐源帮帮网易云,Ubuntu听歌利器
镜像文章 1.用其他音乐源帮帮网易云,Android听歌利器 2.用其他音乐源帮帮网易云,Windows听歌利器 众所周知,国内只有网易云推出了Linux的客户端,在Listen 1并不十分好用的基础 ...
随机推荐
- CTF入门指南
转自http://www.cnblogs.com/christychang/p/6032532.html ctf入门指南 如何入门?如何组队? capture the flag 夺旗比赛 类型: We ...
- asp.net权限认证:OWIN实现OAuth 2.0 之密码模式(Resource Owner Password Credential)
asp.net权限认证系列 asp.net权限认证:Forms认证 asp.net权限认证:HTTP基本认证(http basic) asp.net权限认证:Windows认证 asp.net权限认证 ...
- TPS及计算方法
个事务,TPS为6 / 60s = 0.10 TPS.同时我们会知道事务的响应时间(或节拍),以此例,60秒完成6个事务也同时代表每个事务的响应时间或节拍为10秒. 利特尔法则 (Little' ...
- bootstrap table编辑操作的时候 在模态框里加载iframe页面(加载的页面是在另一个页面做编辑)的时候如何关闭模态框和刷新table
//关闭模态框 window.parent.$('#myModal').modal('hide'); //修改成功后刷新table表格 ...
- sass 基础——回顾
1.webstorm 自动编译SASS 下载安装包 http://rubyinstaller.org/downloads/ 然后点击安装,路径为默认路径就行, 勾选以下两项 add Ruby exec ...
- 《汇编语言程序设计》——仿windows计算器
<汇编语言程序设计> ——计算器程序设计 目录 一. 题目与目标 1. 题目 2. 学习目的 二. 分析与设计 1. 系统分析 2. ...
- android学习11——Handler,Looper,MessageQueue工作原理
Message是Handler接收和处理的消息对象. 每个线程只能拥有一个Looper.它的loop方法读取MessageQueue中的消息,读到消息之后就把消息交给发送该消息的Handler进行处理 ...
- axios全攻略
随着 vuejs 作者尤雨溪发布消息,不再继续维护vue-resource,并推荐大家使用 axios 开始,axios 被越来越多的人所了解.本来想在网上找找详细攻略,突然发现,axios 的官方文 ...
- Python基础之数据类型
Python基础之数据类型 变量赋值 Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程. 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息. 每个变量在使用前都必须赋值 ...
- flex布局应用于踩坑
一.预告 本文不是一篇入门的文章所有请符合以下条件的战斗人员绕道: 1.初学前端,对前端的传统布局还不是很熟悉的人 2.后端人员对前端不打算深入学习的同学 二.开篇 flex布局原本是好几个月前就一直 ...