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

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

不废话了,还在完善中。

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

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

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

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

可是。。。

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

 

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

 

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

mciGetErrorString

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

自动打开

的文件做啥啥啥。

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

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值