二、Windows自己的窗口—播放声音文件
窗口消息处理程序接收的第一个消息-也是WndProc选择处理的第一个消息-是WM_CREATE。当Windows在WinMain中处理CreateWindow函数时,WndProc接收这个消息。就是说,在HELLOWIN呼叫CreateWindow时,Windows将做一些它必须做的工作。在这些工作中,Windows呼叫WndProc,将第一个参数设定为窗口句柄,第二个参数设定为WM_CREATE。WndProc处理WM_CREATE消息并将控制传回给Windows。 Windows然后可以从CreateWindow呼叫中传回到HELLOWIN中,继续在WinMain中进行下一步的处理。
通常,窗口消息处理程序在WM_CREATE处理期间进行一次窗口初始化。HELLOWIN对这个消息的处理中播放一个名为HELLOWIN.WAV的声音文件。它使用简单的PlaySound函数来做到这一点。该函数说明在/Platform SDK/Graphics and Multimedia Services/Multimedia Audio/Waveform Audio中,而文件在/Platform SDK/Graphics and Multimedia Services/Multimedia Reference/Multimedia Functions中。
PlaySound的第一个参数是声音文件的名称(它也可能是在Control Panel的Sounds中定义的一种声音的别名,或者是一个程序资源)。第二个参数只有当声音文件是一种资源时才被使用。第三个参数指定一些选项。在这个例子中,我指定第一个参数是一个文件名,并且异步地播放声音,即PlaySound函数呼叫在声音文件开始播放时立即传回,而不会等待它的完成。在这种方法下,程序能够继续初始化。
WndProc通过从窗口消息处理程序中传回0,结束了整个WM_CREATE的处理。