读书人

关于PlaySound的有关问题

发布时间: 2012-09-10 22:20:12 作者: rapoo

关于PlaySound的问题

C/C++ code
#include <Windows.h>LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);int WINAPI WinMain( __in HINSTANCE hInstance, __in_opt HINSTANCE hPrevInstance, __in LPSTR szCmdLine, __in 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("This program requires windows nt!"),szAppName,MB_ICONERROR);        return 0;    }    hwnd = CreateWindow(szAppName,        TEXT("The Hello Program"),        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("hellowin.wav"),NULL,SND_FILENAME|SND_ASYNC);        return 0;    case WM_PAINT:        hdc = BeginPaint(hwnd,&ps);        GetClientRect(hwnd,&rect);        DrawText(hdc,TEXT("Hello,Windows 98!"),-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);}

为什么我在vs上执行上时可以播放声音,直接打开生成完的exe可执行文件时就没有播放声音了……求解……

[解决办法]
应该是你的资源文件的路径问题,看一下它的路径是按照什么方式寻径的,同时还要看相对路径是相对于谁。
[解决办法]
把你的音频文件拷到exe同一个目录

读书人网 >C语言

热点推荐