Windows SDK 之 mciSendString最后一个参数

Posted 咚..咚

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于Windows SDK 之 mciSendString最后一个参数的主要内容,如果未能解决你的问题,请参考以下文章

深入delphi编程理解之消息WINDOWS原生窗口编写及消息处理过程

基于 Agora SDK 实现 Windows 端的多人视频互动(基于3.6.2版本)

APP自动化环境搭建之appium工具介绍

微信小程序云函数Windows下安装wx-server-sdk

Appium&Python自动化测试-环境搭建之安卓SDK

Windows App开发之开发准备