playsound用法求教!该怎么解决

playsound用法求教!!
#include <windows.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#define pi 3.1415926
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{  
  MSG Message;
  WNDCLASS WndClass;
  WndClass.cbClsExtra=0;
  WndClass.cbWndExtra=0;
  WndClass.hbrBackground=(HBRUSH)(GetStockObject(WHITE_BRUSH));
  WndClass.hCursor=LoadCursor(NULL,IDC_ARROW);
  WndClass.hIcon=LoadIcon(NULL,"END");
  WndClass.hInstance=hInstance;
  WndClass.lpfnWndProc=WndProc;
  WndClass.lpszClassName="WinFill";
  WndClass.lpszMenuName=NULL;
  WndClass.style=CS_HREDRAW|CS_VREDRAW;
  RegisterClass(&WndClass);
  HWND hWnd;
  hWnd=CreateWindow("WinFill", //生成窗口
  "时 钟 ",
  WS_OVERLAPPEDWINDOW,
  CW_USEDEFAULT,
  0,
  CW_USEDEFAULT,
  0,
  NULL,
  NULL,
  hInstance,
  NULL);
   
  ShowWindow(hWnd,nCmdShow); //显示窗口
UpdateWindow(hWnd);
   
  while(GetMessage(&Message,0,0,0)) //消息循环
  {  
  TranslateMessage(&Message);
  DispatchMessage(&Message);
  }
  return Message.wParam;
}
//VOID WINAPI GetLocalTime(LPSYSTEMTIME lpSystemTime); //获取当前系统时间函
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
{  
switch(message)
{
case WM_CREATE:
PlaySound("c:\\windows\\media\\ding.wav", NULL, SND_FILENAME | SND_ASYNC) ; break;
case WM_DESTROY:
  PostQuitMessage(0);  
  break;  
  default:  
  return DefWindowProc(hwnd,message,wParam,lParam);
  }
  return 0;
}
playsound怎么用啊?
还有我写成win32控制台,怎么没声音呢?
#include<windows.h>
#include<mmsystem.h>
#pragma comment(lib,"WINMM.LIB");
int main()
{
PlaySound("c:\\windows\\media\\ding.wav", NULL, SND_FILENAME | SND_ASYNC) ;
return 0;
}

------解决方案--------------------
不应该,这个函数几乎没人用了,看看有没有这个文件
------解决方案--------------------
我的是windows7,它有windows ding.wav这个文件的
XP下可能没有
但win7也有ding.wav,这个文件太短,放不出声音的
如果是f盘下有个1.wav就可以写f:\\1.wav,但这个文件要足够长,貌似太短的文件用PlaySound放不出声音的

------解决方案--------------------
探讨

引用:
不应该,这个函数几乎没人用了,看看有没有这个文件

那现在用什么函数呢?