[教學]讓Rainmeter可以控制千千靜聽
其實這是我一直以來想要找出答案的問題
最近因為剛退伍時間多的嚇死人的情況之下
剛好有了一個機會讓我接觸到這方面的知識
又剛好找對了方向,所以才有機會讓我在這邊
美其名是教學,其實是來騙騙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
推
07/12 01:34, , 1F
07/12 01:34, 1F
※ 編輯: tericky 來自: 125.233.146.196 (07/12 01:40)
推
07/12 10:47, , 2F
07/12 10:47, 2F
→
07/12 10:49, , 3F
07/12 10:49, 3F
推
07/12 11:40, , 4F
07/12 11:40, 4F
推
07/12 13:23, , 5F
07/12 13:23, 5F
推
07/13 00:34, , 6F
07/13 00:34, 6F
推
07/16 02:41, , 7F
07/16 02:41, 7F
推
08/09 18:14, , 8F
08/09 18:14, 8F
推
08/09 21:05, , 9F
08/09 21:05, 9F
推
10/20 15:45, , 10F
10/20 15:45, 10F
推
10/21 11:04, , 11F
10/21 11:04, 11F