变量名 | 类 型 | 静态 | 数组 | 备 注 | lngTemp | 整数型 | | | ret | 整数型 | | | lngPID | 整数型 | | | hProcess | 整数型 | | | lngAddress | 整数型 | | | lngButtons | 整数型 | | | i | 整数型 | | | lngTextAdr | 整数型 | | | strBuff | 字节集 | | | lngHwndAdr | 整数型 | | | lngHwnd | 整数型 | | | lngButtonID | 整数型 | | | a | 整数型 | | | 托盘 | 文本型 | | 0 | n | 整数型 | | | 文本 | 文本型 | | | 文本1 | 文本型 | | | 文本2 | 文本型 | | 0 | 网页 | 文本型 | | | 文本3 | 文本型 | | | 进程 | 文本型 | | 0 | 文本4 | 文本型 | | | xx | 字节集 | | | 对象 | 对象 | | | 电音 | 文本型 | | 0 | 电音9 | 文本型 | | 0 | 查找图片 | 字节集 | | | 句柄 | 整数型 | | | xx1 | 字节集 | | | 对象1 | 对象 | | | 查找图片1 | 字节集 | | | lngTray | 整数型 | | | 横坐标 | 整数型 | | | 纵坐标 | 整数型 | | | 进程2 | 文本型 | | 0 | u | 整数型 | | | q | 整数型 | | | 文本5 | 文本型 | | | 文本6 | 文本型 | | 0 | 文本9 | 文本型 | | 0 | PID | 整数型 | | | jg | 整数型 | | 0 | N | 整数型 | | | str | 文本型 | | | 歌手 | 文本型 | | | 歌名 | 文本型 | | | HWnd | 整数型 | | | wb41 | 文本型 | | 0 | 局_数组 | 整数型 | | 0 | c | 整数型 | | | a1 | 整数型 | | | 计次 | 整数型 | | | 文本7 | 文本型 | | 0 | 索引 | 整数型 | | | 歌名1 | 文本型 | | | f | 整数型 | | | 记录 | 文本型 | | |
记录 = 读配置项 (“D;\config.ini”, “歌曲”, “信息”, )如果真 (记录 ≠ 标签1.标题 )lngTemp = FindWindow (“Shell_TrayWnd”, 0 )lngTemp = FindWindowEx (lngTemp, 0, “TrayNotifyWnd”, 0 )lngTemp = FindWindowEx (lngTemp, 0, “SysPager”, 0 )lngTray = FindWindowEx (lngTemp, 0, “ToolbarWindow32”, 0 )ret = GetWindowThreadProcessId (lngTray, lngPID )输出调试文本 (lngTray )hProcess = OpenProcess (位或 (2035711, 8, 16, 32 ), 假, lngPID )lngAddress = VirtualAllocEx (hProcess, 0, 4096, 4096, 4 )lngButtons = SendMessageA (lngTray, 1048, 0, 0 )进程_枚举 (进程, )变量循环首 (0, lngButtons - 1, 1, i )处理事件 ()ret = SendMessageA (lngTray, 1047, i, lngAddress )ret = ReadProcessMemory_整数 (hProcess, lngAddress + 24, lngTextAdr, 4, 0 )如果真 (lngTextAdr ≠ -1 )strBuff = 取空白字节集 (1024 )ret = ReadProcessMemory_字节集 (hProcess, lngTextAdr, strBuff, 1024, 0 ) 加入成员 (托盘, W2A (strBuff )) 变量循环尾 ()计次循环首 (取数组成员数 (托盘 ), f )调试输出 (托盘 )如果真 (寻找文本 (托盘 [f ], “-”, , 假) ≠ -1 或 寻找文本 (托盘 [f ], “演唱”, , 假) ≠ -1 )文本 = 删全部空 (托盘 [f ])文本1 = 子文本替换 (托盘 [f ], “ 演唱:”, “ -”, 1, 7, 真)进程_枚举 (进程2, )计次循环首 (取数组成员数 (进程2 ), u )处理事件 ()如果真 (寻找文本 (进程 [u ], “kwmusic.exe”, , 假) ≠ -1 )文本1 = 文本_删右边 (托盘 [f ], 8 )文本1 = 子文本替换 (文本1, “-”, “”, 2, 7, 真)跳出循环 ()计次循环尾 ()调试输出 (文本1 )标签1.标题 = 文本1 文本2 = 分割文本 (文本1, “-”, 2 )文本4 = 文本2 [1 ]处理事件 ()计次循环首 (取数组成员数 (进程 ), i )如果真 (寻找文本 (进程 [i ], “KuGou.exe”, , 假) = -1 ) 文本4 = 文本2 [1 ]跳出循环 ()如果真 (寻找文本 (进程 [i ], “KuGou.exe”, , 假) ≠ -1 ) 文本4 = 文本2 [2 ]跳出循环 ()计次循环尾 () 网页 = 网页_访问S (“http://www.52kkg.com/so.php/” + 删首尾空 (文本4 ) + “.html”, , , , , , , , , , , , , , , )文本3 = 文本_取中间文本 (网页, #前面, #后面, )调试输出 (文本3 )判断循环首 (文本3 = “”)网页 = 网页_访问S (“http://www.jd.kx778.com/plus/search.php?kwtype=0&q=” + 编码_URL编码 (文本4 ), , , , , , , , , , )文本3 = 文本_取中间文本 (网页, #前面1, #后面1, )如果真 (文本3 ≠ “”)跳出循环 ()判断循环尾 ()如果真 (文本3 ≠ “”)标签2.标题 = 文本3 如果真 (标签2.标题 ≠ “暂无该歌曲基调信息。”)基调 = 删首尾空 (文本_取出中间文本 (文本3, “基调:”, “ 音阶:”, , )) 音阶 = 文本_取出中间文本 (文本3, “音阶:”, “调”, , ) + “调)”写配置项 (取运行目录 () + “\config.ini”, “基调”, “基调”, 基调 )写配置项 (取运行目录 () + “\config.ini”, “基调”, “音阶”, 音阶 )返回 ()文本9 = 分割文本 (标签1.标题, “-”, 2 )超级列表框1. 全部删除 ()超文本浏览框2.地址 = “https://em.yunyinbox.com/#/index?kw=” + 编码_URL解码 (文本9 [1 ], ) 编辑框1. 加入文本 (超文本浏览框2. 取网页文本 ()) 编辑框1.内容 = 文本_取出中间文本 (编辑框1.内容, “电音4”, “主播助手”, , 假)文本7 = 分割文本 (编辑框1.内容, #换行符, 55 )变量循环首 (取数组成员数 (文本7 ), 1, -1, c )如果真 (文本7 [c ] = “ ” 或 文本7 [c ] = “”)删除成员 (文本7, c, )变量循环尾 ()a1 = 0 计次循环首 (取数组成员数 (文本7 ), 计次 )a1 = a1 + 2 索引 = 超级列表框1. 插入表项 (, , , , , )超级列表框1. 置标题 (索引, 0, 文本7 [a1 - 1 ])超级列表框1. 置标题 (索引, 1, 文本7 [a1 ])如果真 (超级列表框1. 取表项数 () = 10 )跳出循环 ()计次循环尾 ()如果真 (文本3 = “”)返回 ()计次循环尾 ()如果真 (图片框1.图片 = #酷狗繁星 )HWnd = 窗口_取句柄 (, , “FanXingPartner”, “酷狗直播伴侣”)PID = 窗口_句柄取进程ID (HWnd )str = 到文本 (内存. 读字节集 (PID, 地址, 1000 )) 内存. 搜索 (PID, 到字节集 (“IPlayBar::OnOpened, Start Play Song Success, SongName:”), jg )计次循环首 (取数组成员数 (jg ), n )str = 删首尾空 (到文本 (内存. 读字节集 (PID, jg [n ], 1000 )) )如果真 (取文本右边 (str, 4 ) = “.mp3”)歌手 = 文本_取出中间文本 (str, “SongName:”, “ - ”, , )歌名 = 文本_取出中间文本 (str, “ - ”, “.mp3”, , )标签1.标题 = 歌名 + “ - ” + 歌手 wb41 = 分割文本 (标签1.标题, “-”, 2 )线程_启动 (&循环取歌名, PID, )按钮1.禁止 = 真 跳出循环 ()计次循环尾 ()超文本浏览框1.地址 = “https://em.yunyinbox.com/#/index?kw=” + 编码_URL解码 (文本9 [1 ], )延时 (3000 )编辑框1. 加入文本 (超文本浏览框1. 取网页文本 ()) 编辑框1.内容 = 文本_取出中间文本 (编辑框1.内容, “电音4”, “主播助手”, , 假)电音9 = 分割文本 (编辑框1.内容, #换行符, 5 )变量循环首 (取数组成员数 (电音9 ), 1, -1, c )如果真 (电音9 [c ] = “”)删除成员 (局_数组, c, )变量循环尾 ()调试输出 (电音9 )写配置项 (“D;\config.ini”, “歌曲”, “信息”, 标签1.标题 )
代码比较长,这个子程序是用时钟周期执行的,无论我把周期放多慢
都会卡死 不知道是什么原因,我加了处理事件也没用
|