首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

关于一个调用PalySound方法播放声音的异常

2012-10-30 
关于一个调用PalySound方法播放声音的错误?最近在抽空学习windows编程,跑下面代码的时候遇到了一个错误。代

关于一个调用PalySound方法播放声音的错误

?最近在抽空学习windows编程,跑下面代码的时候遇到了一个错误。

代码如下:

#include <windows.h>LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR szCmdLine,int iCmdShow){static TCHAR szAppName[]=TEXT("HelloWin");HWND hwnd;MSG msg;WNDCLASS wndclass;wndclass.style=CS_HREDRAW|CS_VREDRAW;wndclass.lpfnWndProc=WndProc;wndclass.cbClsExtra=0;wndclass.cbWndExtra=0;wndclass.hInstance=hInstance;wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);wndclass.lpszMenuName=NULL;wndclass.lpszClassName=szAppName;if(!RegisterClass(&wndclass)){MessageBox(NULL,TEXT("蛋疼啊!"),szAppName,MB_ICONERROR);return 0;}hwnd=CreateWindow(szAppName,TEXT("还是蛋疼啊!"),WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL,);ShowWindow(hwnd,iCmdShow);UpdateWindow(hwnd);while(GetMessage(&msg,NULL,0,0)){TranslateMessage(&msg);DispatchMessage(&msg);}return msg.wParam;}LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){HDC hdc;PAINTSTRUCT ps;RECT rect;switch(message){case WM_CREATE:PlaySound(TEXT("hellowind.wav"),NULL,SND_FILENAME|SND_ASYNC);return 0;case WM_PAINT:hdc=BeginPaint(hwnd,&ps);GetClientRect(hwnd,&rect);DrawText(hdc,TEXT("继续蛋疼!"),-1,&rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);EndPaint(hwnd,&ps);return 0;case WM_DESTROY:PostQuitMessage(0);return 0;}return DefWindowProc(hwnd,message,wParam,lParam);}

?编译时没有报错,但是运行的时候会报如下错误:

--------------------Configuration: HelloWin - Win32 Debug--------------------Linking...HelloWin.obj : error LNK2001: unresolved external symbol __imp__PlaySoundA@12Debug/HelloWin.exe : fatal error LNK1120: 1 unresolved externalsError executing link.exe.HelloWin.exe - 2 error(s), 0 warning(s)

经过仔细研究之后,发现是运行的时候少了一个lib文件,故解决方案如下:

Project ? Settings-> Object/library ? modules ? 输入 ? Winmm.lib

再次运行OK

热点排行