我使用在Windows下一个C++应用程序PlaySound
功能最小化。 当此应用程序运行本地var命令PlaySound
并且它开始播放WAV文件时。停止播放声音和音量时应用
但是,当你点击我的应用程序最小化对话框时,声音会继续播放,当逻辑规则必须被禁止或者静音,直到你再次最大化应用。
的问题是:
有Windows中应用程序状态的应用程序最小化时检测? 为了设置waveOutSetVolume
功能0x00 = mute
。
我使用在Windows下一个C++应用程序PlaySound
功能最小化。 当此应用程序运行本地var命令PlaySound
并且它开始播放WAV文件时。停止播放声音和音量时应用
但是,当你点击我的应用程序最小化对话框时,声音会继续播放,当逻辑规则必须被禁止或者静音,直到你再次最大化应用。
的问题是:
有Windows中应用程序状态的应用程序最小化时检测? 为了设置waveOutSetVolume
功能0x00 = mute
。
您的应用的窗口是否显示WM_SYSCOMMAND
消息,并检查SC_MINIMIZE
,SC_MAXIMIZE
和SC_RESTORE
通知。当应用程序窗口最小化或最大化
您的应用程序将收到一个WM_WINDOWPOSCHANGED消息。检查lParam中的WINDOWPOS结构以确定新状态。然后,您可以分别关闭或打开声音。 (注意:当窗口移动,发送回来等等时,也会发送此消息。因此请检查lParam。)
如果应用程序当前已最小化,则可以使用IsIconic进行检查。
而且我并不觉得合乎逻辑的声音具有应用程序最小化时停止播放。毕竟这是一个多任务操作系统。我希望它能够并行地做事。
赢了+ d触发WM_SYSCOMMAND? –
不,它没有,因为该功能并没有真正减少应用程序窗口,它只是将桌面窗口带到前台。它,然而,触发'WM_WINDOWPOSCHANGING','WM_GETMINMAXINFO','WM_NCCALCSIZE','WM_WINDOWPOSCHANGED','WM_MOVE','WM_SIZE','WM_STYLECHANGING'和'WM_STYLECHANGED'消息(如由间谍捕获++)。 –