[教學]讓Rainmeter可以控制千千靜聽

看板Wallpaper作者 (這世界還是有好人的)時間15年前 (2009/07/12 01:21), 編輯推噓10(1001)
留言11則, 11人參與, 最新討論串1/1
其實這是我一直以來想要找出答案的問題 最近因為剛退伍時間多的嚇死人的情況之下 剛好有了一個機會讓我接觸到這方面的知識 又剛好找對了方向,所以才有機會讓我在這邊 美其名是教學,其實是來騙騙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
+1
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
文章代碼(AID): #1AMCejBE (Wallpaper)