Windows Media Player with 伺か

投稿日 : 2008年11月4日 1:01

 月曜日はうかべん 大阪#4に参加してきました。40名? 恐るべき集客力。懇親会が38名とかいっていたような。伺かは、まったく知らないわけではないですが、ほとんど知りません。一時期、使っていたのは2001年ぐらいのはなし。それでも勉強会自体は楽しめましたよ。よくわからないところも多々あることにはありましたけどw

 セッションを聞いてSSTPとかそんなのあったなーと思い、思いつきで 勉強会の中、少しプログラミングしてました。Windows Media Playerで再生中の曲名などを伺かにしゃべらせれないかなーと。少し前にWindows Media Playerの再生している曲を知りたいって話題があったのでそれもかねてなんですけどね。とりあえずできた↓

伺か

 しくみはこんな感じ↓。Windows Media Playerは、「MsnMsgrUIManager」というクラス名を持つウィンドウに対して、WM_COPYDATAを使って情報を送ります。作ったのは図のまんなか下の箱の絵の部分。単体のウィンドウズアプリです。メッセージを受け取ったら、曲名情報を取り出して、DirectSSTPを使って送信という具合。過去のバージョンはわかりませんが、現在のWindows Media Playerは該当するすべてのウィンドウにメッセージ送ってるみたいですね。受け取る側は何もケアしなくても良いみたい。

しくみ

 苦労したのはC++のコードですね……。 全然うごかねーと思って、DirectSSTP+サンプルで検索したらコードがありました。I.C.S Network Position たいへん参考になりました。2000年にVC++5.0で書かれたコードみたいです……。実際に書いたコードは超汚いのでBlogに書くのは勘弁。

 とりあえずできたのだけど、DirectSSTPを使うと、そのまま送った内容を話すから(いやよくしらないけど)、ゴーストにあった発言をさせるには難しいところかなー。

関連エントリ: Live Messenger 表示メッセージを外部アプリから設定

フィードバック

# re: Windows Media Player with 伺か

2008/11/09 11:44 by むたぐち
おおお
やっぱりWMPがメッセンジャーに送ってるウィンドウメッセージ横取りしかないと思ってましたが、できるんですね!コード欲しいですw

# [日常]うかべん大阪#4に行ってきたよ

2008/11/09 17:41 by 酢酸のさっぱり日記
[日常]うかべん大阪#4に行ってきたよ

# re: Windows Media Player with 伺か

2008/11/10 1:02 by JZ5
むたぐちさん
コメントどもですー。
コード、メールで送ってもいいですけどw Cでウィンドウ作るときに「MsnMsgrUIManager」ってクラス名つけて、ウィンドウメッセージでWM_COPYDATAうけとるだけですよー。

# 試行錯誤中

2008/11/13 0:04 by katamari.wankuma.com
試行錯誤中

# re: Windows Media Player with 伺か

2008/11/14 23:27 by むたぐち
ありがとうございます!
Cでウィンドウを作るのがまず頑張らないと駄目そうですが勉強がてらにつくってみますー

# re: Windows Media Player with 伺か

2008/11/15 2:04 by JZ5
メールしましたー。返事ももらいましたー。
コメントの入力
タイトル
 
名前
 
Url
コメント