易语言酷我音乐三种格式无损下载地址解析源码

 更新时间:2018年12月03日 10:07:52   作者:易语言源码教程  
今天小编就为大家分享一篇关于易语言酷我音乐三种格式无损下载地址解析源码,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

DLL命令表

.版本 2
.DLL命令 CoInitialize, 整数型, "ole32.dll", , 公开, 初始化对象开始
  .参数 pvReserved, 整数型, , 0
.DLL命令 CoUninitialize, 整数型, "ole32.dll", , 公开, 初始化对象结束
.DLL命令 ShellExecute, 整数型, "shell32.dll", "ShellExecuteA"
  .参数 hwnd, 整数型, , 指定一个窗口的句柄,有时候,windows程序有必要在创建自己的主窗口前显示一个消息框
  .参数 lpOperation, 文本型, , 指定字串“open”来打开lpFlie文档,或指定“Print”来打印它
  .参数 lpFile, 文本型, , 想用关联程序打印或打开一个程序名或文件名
  .参数 lpParameters, 文本型, , 如lpszFlie是可执行文件,则这个字串包含传递给执行程序的参数
  .参数 lpDirectory, 文本型, , 想使用的完整路径
  .参数 nShowCmd, 整数型, , 定义了如何显示启动程序的常数值。参考ShowWindow函数的nCmdShow参数

自定义数据类型表

.版本 2
.数据类型 _kuwoSong, 公开
  .成员 music_id, 文本型
  .成员 name, 文本型
  .成员 song_url, 文本型
  .成员 singer, 文本型
  .成员 mp3size, 文本型
  .成员 path, 文本型
  .成员 mp3path, 文本型
  .成员 aacpath, 文本型
  .成员 wmadl, 文本型
  .成员 mp3dl, 文本型
  .成员 aacdl, 文本型
  .成员 lyric, 文本型
  .成员 lyric_zz, 文本型

酷我音乐下载地址解析源码

.版本 2
.支持库 internet
.支持库 EThread
.支持库 iext
.程序集 窗口程序集_窗口1
.程序集变量 kuwoSong, _kuwoSong
.程序集变量 开始解析, 逻辑型
.子程序 __启动窗口_创建完毕
.子程序 GetSongInfo, 逻辑型
.参数 music_id, 文本型
.局部变量 bin, 字节集
.局部变量 str, 文本型
bin = HTTP读文件 (“http://www.kuwo.cn/webmusic/st/getMuiseByRid?rid=MUSIC_” + music_id + “&flag=3&r=” + Random ())
str = 到文本 (CCharset (bin))
kuwoSong.name = GetStr (str, “<name>”, “</name>”)
kuwoSong.path = GetStr (str, “<path>”, “</path>”)
kuwoSong.wmadl = GetStr (str, “<wmadl>”, “</wmadl>”)
kuwoSong.mp3dl = GetStr (str, “<mp3dl>”, “</mp3dl>”)
kuwoSong.aacdl = GetStr (str, “<aacdl>”, “</aacdl>”)
kuwoSong.lyric = GetStr (str, “<lyric>”, “</lyric>”)
kuwoSong.singer = GetStr (str, “<singer>”, “</singer>”)
kuwoSong.mp3size = GetStr (str, “<mp3size>”, “</mp3size>”)
kuwoSong.mp3path = GetStr (str, “<mp3path>”, “</mp3path>”)
kuwoSong.aacpath = GetStr (str, “<aacpath>”, “</aacpath>”)
kuwoSong.music_id = GetStr (str, “<music_id>”, “</music_id>”)
kuwoSong.song_url = GetStr (str, “<song_url>”, “</song_url>”)
kuwoSong.lyric_zz = GetStr (str, “<lyric_zz>”, “</lyric_zz>”)
.如果 (kuwoSong.music_id = “”)
  返回 (假)
.否则
  返回 (真)
.如果结束
.子程序 Random, 文本型, 公开
.局部变量 VBScript, 对象
.局部变量 值, 双精度小数型
.局部变量 文本值, 文本型
VBScript.创建 (“ScriptControl”, )
VBScript.写属性 (“Language”, “JScript”)
VBScript.数值方法 (“ExecuteStatement”, “function random(){return Math.random()}”)
值 = VBScript.通用方法 (“Run”, “random”, ).取数值 ()
文本值 = 到文本 (值)
返回 (文本值)
.子程序 CCharset, 字节集, 公开, 改变编码
.参数 待转换数据, 字节集
.参数 转换前编码, 文本型, 可空, 默认UTF-8,utf-8;unicode;GBK 等
.参数 转换后编码, 文本型, 可空, 默认GBK,utf-8;unicode;GBK 等
.参数 转换后数据开始位置, 整数型, 可空, 位置从0开始。unicode编码标识占2个字节,utf-8编码标识占3个字节
.局部变量 文本, 文本型
.局部变量 变体型, 变体型
.局部变量 this, 对象
.局部变量 返回值, 字节集
.如果真 (是否为空 (转换前编码) = 真)
  转换前编码 = “UTF-8”
.如果真结束
.如果真 (是否为空 (转换后编码) = 真)
  转换后编码 = “GBK”
.如果真结束
this.创建 (“Adodb.Stream”, )
this.写属性 (“Type”, 1)
this.方法 (“Open”, )
变体型.创建数组 (#字节型, 取字节集长度 (待转换数据))
变体型.赋值 (待转换数据, )
this.方法 (“Write”, 变体型)
this.写属性 (“Position”, 0)
this.写属性 (“Type”, 2)
this.写属性 (“Charset”, 转换前编码)
文本 = this.文本方法 (“ReadText”, -1)
this.方法 (“Close”, )
this.方法 (“Open”, )
this.写属性 (“Charset”, 转换后编码)
this.方法 (“WriteText”, 文本, )
this.写属性 (“Position”, 0)
this.写属性 (“Type”, 1)
.如果真 (是否为空 (转换后数据开始位置) = 假)
  this.写属性 (“Position”, 转换后数据开始位置)
.如果真结束
变体型 = this.通用方法 (“Read”, -1)
返回值 = 变体型.取字节集 ()
返回 (返回值)
.子程序 GetStr, 文本型, 公开
.参数 内容, 文本型
.参数 头, 文本型
.参数 尾, 文本型
.参数 返回数组, 文本型, 可空 数组
.局部变量 开始, 整数型
.局部变量 结束, 整数型
.局部变量 长度, 整数型
.局部变量 结果内容, 文本型, , "0"
.判断循环首 (寻找文本 (内容, 头, 开始, 真) ≠ -1)
  开始 = 寻找文本 (内容, 头, 开始, 真) + 取文本长度 (头)
  结束 = 寻找文本 (内容, 尾, 开始, 真)
  .如果真 (开始 = -1 或 结束 = -1)
    到循环尾 ()
  .如果真结束
  长度 = 结束 - 开始
  加入成员 (结果内容, 取文本中间 (内容, 开始, 长度))
.判断循环尾 ()
返回数组 = 结果内容
.如果 (取数组成员数 (返回数组) > 0)
  返回 (返回数组 [1])
.否则
  返回 (“”)
.如果结束
.子程序 _按钮1_被单击
.如果 (开始解析)
  信息框 (“请稍等片刻,上次操作还在处理中......”, 0, “提示”)
.否则
  启动线程 (&子程序2, , )
.如果结束
.子程序 子程序2
.局部变量 music_id, 文本型
CoInitialize (0)
开始解析 = 真
kuwoSong.music_id = “”
超级列表框1.置标题 (0, 1, “”)
超级列表框1.置标题 (1, 1, “”)
超级列表框1.置标题 (2, 1, “”)
超级列表框1.置标题 (3, 1, “”)
超级列表框1.置标题 (4, 1, “”)
超级列表框1.置标题 (5, 1, “”)
music_id = GetStr (编辑框1.内容 + “/”, “/yinyue/”, “/”)
.如果 (GetSongInfo (music_id))
  加入列表框 ()
.否则
  信息框 (“获取失败,请检查地址是否正确或工具已失效......”, 0, “提示”)
.如果结束
开始解析 = 假
CoUninitialize ()
.子程序 加入列表框
超级列表框1.置标题 (0, 1, kuwoSong.name)
超级列表框1.置标题 (1, 1, kuwoSong.singer)
超级列表框1.置标题 (2, 1, kuwoSong.mp3size)
超级列表框1.置标题 (3, 1, “http://” + kuwoSong.mp3dl + kuwoSong.mp3path)
.如果真 (kuwoSong.wmadl ≠ “”)
  超级列表框1.置标题 (4, 1, “http://” + kuwoSong.wmadl + kuwoSong.path)
.如果真结束
.如果真 (kuwoSong.aacdl ≠ “”)
  超级列表框1.置标题 (5, 1, “http://” + kuwoSong.aacdl + kuwoSong.aacpath)
.如果真结束
.子程序 _超级列表框1_被双击, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
.局部变量 下载地址, 文本型
.如果真 (超级列表框1.现行选中项 = 3 或 超级列表框1.现行选中项 = 4 或 超级列表框1.现行选中项 = 5)
  下载地址 = 超级列表框1.取标题 (超级列表框1.现行选中项, 1)
  .如果真 (取文本长度 (下载地址) > 10)
    ShellExecute (0, “open”, 下载地址, “”, “”, 1)
    返回 ()
  .如果真结束
.如果真结束

运行结果:

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

  • 易语言获取QQ昵称和空间头像方法

    易语言获取QQ昵称和空间头像方法

    在本篇内容里小编给大家分享是的关于易语言获取QQ昵称和空间头像方法内容,需要的参考下。
    2018-12-12
  • 易语言设置滑块条刻度类型的方法

    易语言设置滑块条刻度类型的方法

    今天小编就为大家分享一篇关于易语言设置滑块条刻度类型的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-11-11
  • 易语言修改窗口标题栏左上角显示的图标

    易语言修改窗口标题栏左上角显示的图标

    今天小编就为大家分享一篇关于易语言修改窗口标题栏左上角显示的图标,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-11-11
  • 易语言判断命令使用讲解

    易语言判断命令使用讲解

    今天小编就为大家分享一篇关于易语言判断命令使用讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • 零基础易语言入门教程(一)

    零基础易语言入门教程(一)

    易语言是可视全中文易学易用的编程高级语言,近年来大家都积极求学,可是怎么学好它啦?下面小编给大家一起学习易语言的知识
    2016-05-05
  • 易语言设置使用绘画命令在画板中的画出方式

    易语言设置使用绘画命令在画板中的画出方式

    今天小编就为大家分享一篇关于易语言设置使用绘画命令在画板中的画出方式,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-11-11
  • 易语言加入成员命令使用讲解

    易语言加入成员命令使用讲解

    今天小编就为大家分享一篇关于易语言加入成员命令使用讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-11-11
  • 易语言通过post实现对小米路由器操作的代码

    易语言通过post实现对小米路由器操作的代码

    今天小编就为大家分享一篇关于易语言通过post实现对小米路由器操作的代码,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-11-11
  • 一步一步跟我学易语言之如何较好的输入程序代码

    一步一步跟我学易语言之如何较好的输入程序代码

    今天小编就为大家分享一篇关于一步一步跟我学易语言之如何较好的输入程序代码,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • 易语言设置当前程序到系统托盘中的方法

    易语言设置当前程序到系统托盘中的方法

    今天小编就为大家分享一篇关于易语言设置当前程序到系统托盘中的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-11-11

最新评论