Windows SDK 之 mciSendString最后一个参数

    这里在这里先附上mciSendString的函数原型:

MCIERROR mciSendString(
   LPCTSTR lpszCommand,
   LPTSTR  lpszReturnString,
   UINT    cchReturn,
   HANDLE  hwndCallback
);

    具体可以参考:https://docs.microsoft.com/en-us/previous-versions/dd757161(v%3Dvs.85)

   

 

    但是,在这里并不是讨这个函数的常见用法,因为这样的文章网上铺天盖地,而且写得很不错。这里记录是的最后一个参数hwndCallback,这个参数MSDN里面没有直接说明,而且网上的文章资料不多。

    从参数名可以猜测出,这是一个窗体句柄,当mci命令后面跟上notify指令时(如:play mysound from 1000 to 2000 notify),会将相应的消息发送给这个指定的窗体,我们可以在窗体的消息回调函数中接收这个消息。那问题来了,接收的消息编号是什么?附加的消息是什么?上面的MSDN一点都没有提到,经过笔者的一番查找,又是通过GOOGLE找到了自己的想要的消息。不得不感慨GOOGLE对码农还是比较友好的。

    当加上notify指令后,窗体会收到MM_MCINOTIFY的消息(是MM_不是WM_),其中wParam是消息标识,lParam则是设备号。整个消息说明在MSDN里也有,只不过没有和MCI函数说明相关联。具体可参照:https://docs.microsoft.com/en-us/windows/win32/multimedia/mm-mcinotify

上一篇:如何在虚拟机vm15中安装W10


下一篇:简单了解SDK API MSDN JDK IDE MFC Qt