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

《windows程序设计》的源代码在vs2005中无法编译,该怎么处理

2012-02-05 
《windows程序设计》的源代码在vs2005中无法编译/*------------------------HELLOWIN.C--DisplaysHello,Win

《windows程序设计》的源代码在vs2005中无法编译
/*------------------------
      HELLOWIN.C   --   Displays   "Hello,   Windows   98! "   in   client   area
                                  (c)   Charles   Petzold,   1998
    ------------------------*/

#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,                                     //   window   class   name


                                                    TEXT   ( "The   Hello   Program "),   //   window   caption
                                                    WS_OVERLAPPEDWINDOW,                 //   window   style
                                                    CW_USEDEFAULT,                             //   initial   x   position
                                                    CW_USEDEFAULT,                             //   initial   y   position
                                                    CW_USEDEFAULT,                             //   initial   x   size
                                                    CW_USEDEFAULT,                             //   initial   y   size
                                                    NULL,                                               //   parent   window   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)   ;
}
---------------------------
------   已启动生成:   项目:   ggd,   配置:   Debug   Win32   ------
正在链接...
f.obj   :   error   LNK2019:   无法解析的外部符号   __imp__PlaySoundW@12,该符号在函数   _WndProc@16   中被引用
MSVCRTD.lib(crtexe.obj)   :   error   LNK2019:   无法解析的外部符号   _main,该符号在函数   ___tmainCRTStartup   中被引用


C:\Documents   and   Settings\Hzq\My   Documents\Visual   Studio   2005\Projects\ggd\Debug\ggd.exe   :   fatal   error   LNK1120:   2   个无法解析的外部命令
生成日志保存在“file://c:\Documents   and   Settings\Hzq\My   Documents\Visual   Studio   2005\Projects\ggd\ggd\Debug\BuildLog.htm”
ggd   -   3   个错误,0   个警告
==========   生成:   0   已成功,   1   已失败,   0   最新,   0   已跳过   ==========
**********************************************************************
谁帮帮我啊。。。到底怎么回事。。。。再dev-cpp中也无法编译。。。
打击了我。。。。
如果用vc++6可以吗。这个到底错再哪里。。郁闷一天了。。。

[解决办法]
存为.cpp文件
[解决办法]
#include <mmsystem.h>
#pragma comment (lib, "winmm.lib ")

热点排行