그냥 Interop으로 WMP에서 정보를 가져올 수 있을 것이라고 생각했는데 굉장한 오산이었음. 심지어는 MSN Messenger에 오늘의 한마디에 듣고있는 노래 제목을 올려주는 플러그인이 있는데, 그 플러그인이 곡 정보를 얻어오는 방법도 자기가 독자적으로는 못하고 현재 재생중인 곡 정보를 출력하는 WMP Background 플러그인을 만들어놓고 IPC를 통해서 정보를 받는 것으로 추정 됨. MS에서 이렇게 해결을 해놓은 것을 보면 다른 방법은 거의 없다고 봐도 괜찮지 않을까 싶다.
단순히 컨트롤을 하는 정도라면 Spy++로 좀 낑낑대면서 정보 찾으면 될 것 같은데 현재 재생중인 곡을 받아오는 것은 구글링해보니 다른 사람들도 많이 시도는 했으나 그다지 깔끔한 방법은 없는 모양. 대체적으로 사람들이 사용한 방법은
1) 그냥 WMP의 컨트롤을 이용해서 자기 프로그램이 음악 재생 기능까지 포함해버리게 만든다.
2) Interop을 통해서 WMP를 실행하면 그 프로그램에서는 정보를 얻어올 수 있는 방법이 있는 모양. (WMP11에서는 제대로 안된다는 얘기도 있는데 그건 자세히 모르겠고) 근데 이 프로그램의 의도 상 그냥 아무렇게나 WMP를 띄워도 제어가 가능해야하니까 이 방법은 이용 불가.
3) WMP Blogging Plug-in이라는 것이 있는데(뭐하는 플러그인인지는 잘 모르겠지만;) 이를 이용하면 곡이 바뀔 때 마다 레지스트리에 곡 명, 아티스트 같은 정보들이 기록되는 모양.
4) 자기가 만들 프로그램과 정보 창구로 이용 될 플러그인을 만드는거.
4번이 가장 무난한 방법이라고 판단되어 Windows Media Player SDK 11을 받아볼려고 하니 MS공식 홈페이지에도 링크가 끊어져 있고 그렇다고 SDK 10을 받아보니 이 녀석이 VC 6.0과 VC .Net이 혼용되던 시절에 나온 것이어서 VS 2008에서는 Wizard 지원도 안되고 예제도 부실하고 이대로 만들면 제대로 실행이 안 될수도 있다고 하여 고심하다가 그냥 다른 작업부터 하기로 결정.


::: 사람과 사람의 교감! 人터넷의 첫 시작! 댓글을 달아주세요! :::