/*--------------------------------------  HELLOWIN.C--Display"Hello,Windows 98!" in client area     (c) Liu Haipeng, 2006--------------------------------------*/#include<windows.h>
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
    PSTR 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 ("This program requires Windows NT!"),
        szAppName, MB_ICONERROR) ;
return 0;
    } hwnd =CreateWindow (szAppName,                  // windows class name
               TEXT ("The Hello Program"), // windows caption
   WS_OVERLAPPEDWINDOW,        // windows style
   CW_USEDEFAULT,              // initial x position
   CW_USEDEFAULT,              // initial y position
   CW_USEDEFAULT,              // initial x size
   CW_USEDEFAULT,              // initial y size
   NULL,                       // parent windows handle
                       NULL,                       // window menu handle
   hInstance,                  // program instance handle
   NULL) ;                     // creation parameters
 
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) ;
}这个是我敲的,语法错误什么都改过来了,但是还有2个错误我改不过来,
Deleting intermediate files and output files for project 'HELLOWIN - Win32 Debug'.
--------------------Configuration: HELLOWIN - Win32 Debug--------------------
Compiling...
HELLOWIN.C
Linking...
HELLOWIN.OBJ : error LNK2001: unresolved external symbol __imp__PlaySoundA@12
Debug/HELLOWIN.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.HELLOWIN.exe - 2 error(s), 0 warning(s)然后我把在网上找的源码编译了一下 也是上面的错误我在群里问了一下,一个兄弟说是
可能是叫mmsystem的lib没有加进去 
 
SOHO/刹车(12459568) 12:57:21
谢谢了 
初学  不会查啊 
大概怎么加啊? 
XXXXXXXXXXXXXX(8344236) 12:55:02
__imp__PlaySoundA@12import library playsoundA() fuction#include <mmsystem.h> 顺便说一下我用的visual studio6.0  操作系统是windows XP sp1,会不会是这个的问题?

解决方案 »

  1.   

    我不会加那个mmsystem的lib,大家说详细点吧帮我加一下
      

  2.   

    If you use Microsoft Visual C++ to create a new project for this program, you need to make an addition to the object libraries the linker uses. Select the Settings option from the Project menu, and pick the Link tab. Select General from the Category list box, and add WINMM.LIB ("Windows multimedia") to the Object/Library Modules text box. You need to do this because HELLOWIN makes use of a multimedia function call, and the multimedia object library isn't included in a default project. Otherwise you'll get an error message from the linker indicating that the PlaySound function is unresolved.
      

  3.   

    我在群里问了一下,一个兄弟说是
    可能是叫mmsystem的lib没有加进去 如果是少了lib文件:
    1. project->seeting->link里面加
    2. 直接加入#pragma comment(lib,"mmsystem.lib")