mciSendString 的 notify 功能(播放 结束 后 CallBack)

刚刚开始学win32编程,由于某些原因,决定先做一个自己播放器再说。本来就做了个很丑的界面,可是后来越做越来劲,界面重绘,按钮重绘,子窗口什么乱七八糟的都用上了,学到了很多东西,所以决定尽可能把它做好做完善,以练促学。

不废话了,还在完善中。

说主题,今天遇到了一个问题,就是想播放完一首歌,给我的播放按钮发个消息,让它变个样。本来想是用个SetTimer,但是这样好像很没有美感,就想让mcisendstring自己告诉我。查了一番msdn,结论如下

mciSendString("play music notify",NULL,0,hWnd);

这样即可,第4个参数是mcisendstring放完歌后发消息的目标的句柄。

然后在目标控件的处理函数里处理MM_MCINOTIFY消息

可是。。。

我怎么都收不到这个消息,甚至用了点极端的傻办法,MessageBox所有传进来的消息。。。没有该消息

然后各种查阅资料。百度,MSDN,CSDN,要么别人根本没这个问题,很顺利,要么是在求解决办法。

好啦,说下解决办法,其实很简单,我终于把注意力集中到msdn里一个函数上,

mciGetErrorString

用了一下。它告诉我,大意就是,不能对

自动打开

的文件做啥啥啥。

好吧,原因就在这里。正确用法如下(纯win32SDK)

猜你喜欢

转载自blog.csdn.net/yellowcath/article/details/6224146