看板 Wallpaper 關於我們 聯絡資訊
其實這是我一直以來想要找出答案的問題 最近因為剛退伍時間多的嚇死人的情況之下 剛好有了一個機會讓我接觸到這方面的知識 又剛好找對了方向,所以才有機會讓我在這邊 美其名是教學,其實是來騙騙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
dog79721:不推不行 07/12 01:34
※ 編輯: tericky 來自: 125.233.146.196 (07/12 01:40)
a007son:+1 07/12 10:47
jotter:有看有推 07/12 10:49
QueenKiller:這世界還是有好人的 07/12 11:40
zxp915406:大推!! 成功了 07/12 13:23
keazi:推啊~~ 07/13 00:34
sanky:大推~~~ 07/16 02:41
NOONENOONE:為什麼這麼棒的文章推文那麼少! 08/09 18:14
MomIamHere:受益良多~~~ 08/09 21:05
Yibobo:有看有推,謝謝! 10/20 15:45
maygesa:真的不推不行阿!!!! 10/21 11:04