作者tericky (这世界还是有好人的)
看板Wallpaper
标题[教学]让Rainmeter可以控制千千静听
时间Sun Jul 12 01:21:42 2009
其实这是我一直以来想要找出答案的问题
最近因为刚退伍时间多的吓死人的情况之下
刚好有了一个机会让我接触到这方面的知识
又刚好找对了方向,所以才有机会让我在这边
美其名是教学,其实是来骗骗p币的XD
-----------------------------
首先要知道的是:为什麽Rainmeter可以控制Winamp以及读取Winamp的资讯呢
这是因为Winamp他有提供一个ipc介面供使用者与Winamp沟通
至於为什麽foobar也可以跟Rainmeter沟通呢?
那是因为它用外挂的方式
综合以上所说的,想要跟Rainmeter沟通,要嘛是用Winamp核心的播放器
要不然就是用外挂的方式模拟,如foobar及KMP等
而今天所要用的方式不是以上所说的两种方式
而是使用修改面板的ini档案即可达成
为什麽只要改改几个字就能解决呢?
念资讯方面的人应该知道SendMessage这个东西吧
他是由user32.dll所提供的一个函式
作用是让某个指定的程式做你要他做的事
而刚好Rainmeter跟Winamp沟通的方式也是使用这种方式
所以才能让我在这边唬唬各位
-------------废话结束,以下教学范例使用[MKG - ver.sk2]来做讲解----------------
将ini档用文字编辑软体打开,如:记事本
首先把千千静听的安装位置,m3u及一些资料夹位置先设定好
接着要改的地方是:WindowClass=Winamp v1.x
使用
全部取代的方式改成WindowClass=TTPlayer_PlayerWnd
再来就是要修改各个功能,以下一首(Next)为范例
先找到写下一首这个功能的位置
如MKG - ver.sk2这个面板来说,是写在[WaNext]这个地方
往下几行可以找到
LeftMouseDownAction=!RainmeterPluginBang "MeasureWinamp SendMessage 273
40048 0"
这就是今天的主角啦
首先先解说一下各个参数
MeasureWinamp SendMessage 273 40048 0
↑ ↑ ↑ ↑ ↑
定义WindowClass 不用改 System 参数 参数
的地方的Measure名称 Message wParam iParam
如果想要实现下一首的功能的话,就改成
MeasureWinamp SendMessage 273 32006 198146
存档并
更新面板之後测试一下
如果可以成功控制千千静听,恭喜你,你已经成功一半了,接着只要把各个参数带入即可
下表是我已经测试出来的功能参数代号,基本的功能都有,但是有一些目前还是找不到
因为千千静听没有提供让使用者呼叫的涵式,所以需要靠比较特殊的方法来实现
功能名称 | System Message | wParam | iParam
------------+---------------------+------------+-----------
上一首 | 273 | 32005 | 198178
------------+---------------------+------------+-----------
下一首 | 273 | 32006 | 198146
------------+---------------------+------------+-----------
停止 | 273 | 32002 | 198144
------------+---------------------+------------+-----------
播放/暂停 | 273 | 32000 | 198204
------------+---------------------+------------+-----------
静音 | 273 | 32007 | 198156
------------+---------------------+------------+-----------
切换迷你模式| 273 | 32211 | 198160
与正常模式 | 273 | 32212 | 131798 <-两组皆可以做切换
------------+---------------------+------------+-----------
开启档案 | 273 | 57601 | 131898
------------+---------------------+------------+-----------
音量加大5% | 273 | 32010 | 0
------------+---------------------+------------+-----------
音量减小5% | 273 | 32011 | 0
------------+---------------------+------------+-----------
关闭程式 | 273 | 57665 | 394650
------------+---------------------+------------+-----------
ps.觉得音量一次加大5%太慢,可将原本的改成
LeftMouseDownAction=!execute [!RainmeterPluginBang "MeasureWinamp SendMessage
273 32011 0"] [!RainmeterPluginBang "MeasureWinamp SendMessage 273 32011 0"]
也就是写2次语法,他就会变成一次加10%了!!!
如果你改好之後发现无法使用
下载下面这个程式测试一下是否可以正常执行(需要.netframework 2.0)
小弟写的,应该不会有毒吧???
http://www.badongo.com/file/15948591
请先开千千静听并播放歌曲後再开上面的程式
如果程式执行正常,但是面板不正常,可能是ini档语法有问题
如果程式执行不正常(可以开启但是无法控制千千静听),那就是你跟本教学无缘了
我的测试环境为Xp sp3,千千静听5.5(Unicode)繁体版,.net framework 3.5
使用工具为Spy++,如果有心的话,任何播放器都可以用这套找出规则来哦!!!
如果有错的地方还是有问题,请寄个信给我吧 ^^
--
◢ ◣ JOY是攘夷!
JOY◢
◣
▃▃ ▃ /
⊙ ⊙ ∣ ─ ─▂/
▄▄ ∣\
■◤◎
◥
◣ ∣  ̄ ̄︶
▃ ▃ ╲\ >
﹨ By RISE
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 125.233.146.196
1F:推 dog79721:不推不行 07/12 01:34
※ 编辑: tericky 来自: 125.233.146.196 (07/12 01:40)
2F:推 a007son:+1 07/12 10:47
3F:→ jotter:有看有推 07/12 10:49
4F:推 QueenKiller:这世界还是有好人的 07/12 11:40
5F:推 zxp915406:大推!! 成功了 07/12 13:23
6F:推 keazi:推啊~~ 07/13 00:34
7F:推 sanky:大推~~~ 07/16 02:41
8F:推 NOONENOONE:为什麽这麽棒的文章推文那麽少! 08/09 18:14
9F:推 MomIamHere:受益良多~~~ 08/09 21:05
10F:推 Yibobo:有看有推,谢谢! 10/20 15:45
11F:推 maygesa:真的不推不行阿!!!! 10/21 11:04