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并不十分好用的基础 ...
随机推荐
- 史上最牛逼的文件bom头清除代码,万能检测清除php,js等等
做php开发,经常部分uft8的php文件因BOM头不同导致各种错误和错位.网上搜到的大部分所谓的去处bom工具都是2货,没有能用的.下面的一段代码,请复制到一个php文件里,然后上传到你的网站根目录 ...
- Unsupported major.minor version 52.0错误解决 Ubuntu JDK8 安装配置
Unsupported major.minor version 52.0错误一般是因为应用程序需要JDK8而ubuntu默认的是jdk7,所以需要切换到jdk8才能解决这个问题. 本文使用PPA方式安 ...
- ionic,Angular 开发实践
1.实践参考 http://www.jianshu.com/p/ea0dcf1d31c9 原文思路搭建 2. 环境搭建步骤 : a. 安装node b.安装 cordova sudo n ...
- block之---应用场景:做参数和返回值
1.做参数 什么时候使用Block充当参数? 封装一个功能,这个功能做什么事情由外界决定,但是什么时候调用由内部决定,这时候就需要把Block充当参数去使用. 模拟需求: 封装一个计算器,怎么计算由外 ...
- 由Spring框架中的单例模式想到的
单例模式是一种常用的软件设计模式.在它的核心结构中只包含一个被称为单例的特殊类.通过单例模式可以保证系统中一个类只有一个实例 注:Spring源码的版本4.3.4 Spring依赖注入Bean实例默认 ...
- Boost.Hana在visual studio 2017 rc中的残缺使用
最新的visual studio还不支持hana,不知道vs2017正式版本出后会不会支持.等不及了,先用rc版试试吧. 1.从https://github.com/boostorg/hana下载或拉 ...
- ZooKeeper配额
ZooKeeper可以在znode上设置配额限制.如果超出了配置限制,ZooKeeper将会在log日志中打印WARN日志.如果超出配额限制,并不会停止行为操作. ZooKeeper的配额是存储在/z ...
- 一步一步在Windows中使用MyCat负载均衡 下篇
之前在 一步一步在Windows中使用MyCat负载均衡 上篇 中已经讲了如何配置出MyCat.下面讲其相关的使用. 五.配置MyCat-eye 对于MyCat监控官网还提供一个MyCat-eye w ...
- 基于Quartz.NET框架的WinForm任务计划管理工具
最近接到一个小需求 ——可以定期同步20个Sql Server 7.0数据库里的数据(数据量会预计>10000),并保存为cvs格式文件 ——可以设置保存文件数据量 ——该应用需要用WinFor ...
- LruCache原理解析
LruCache是一个泛型类,它内部采用LinkedHashMap,并以强引用的方式存储外界的缓存对象,提供get和put方法来完成缓存的获取和添加操作.当缓存满时,LruCache会移除较早的缓存对 ...