程序代码:
   #include<windows.h>
#include<stdlib.h>
#include<string.h>long WINAPI WndProc(HWND hWnd,UINT iMessage,UINT wParam,LONG iParam);
    //WNDAPI     
BOOL InitWindowsClass(HINSTANCE hInstance);
BOOL InitWindows(HINSTANCE hInstance,int nCmdShow);//INSTANCE
HWND hWndMain
//----------------------主函数------------------------------
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
 
{
   
   MSG Message;
   if(!InitWindowsClass(hInstance))
   return FALSE;
   if(!InitWindows(hInstance,nCmdShow))
   return FALSE;
   while(GetMessage(&Message,0,0,0))
   {
    TranslateMessage(&Message);
DispatchMessage(&Message);
   }
 
 
} //----------------------WndProc函数实现----------------------------
LRESULT CALLBACK WndProc(HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam)
   {
HDC hDC;
HBRUSH hBrush;
HPEN hPen;
PAINTSTRUCT PtStr;
POINT points[6]={{100,212},{70,227},{70,250},{130,250},{130,227},{100,212}};
    switch(iMessage)
{    
     case WM_PAINT:
  hDC=BeginPaint(hWnd,&PtStr);
  hPen=(HPEN)GetStockObject(NULL_PEN);
  //hPen=(BRUSH)GetStockObject(NULL_PEN)
  SelectObject(hDC,hPen);
  hBrush=(HBRUSH)GetStockObject(BLACK_BRUSH);
  //hBrush=(BRUSH)GetStockObject(BLACK_BRUSH);
  SelectObject(hDC,hBrush);
  LineTo(hDC,50,50);
  DeleteObject(hPen);
  hPen=CreatePen(PS_SOLID,2,RGB(255,0,0));
  SelectObject(hDC,hPen);
  LineTo(hDC,150,150);
  LineTo(hDC,100,137);
  LineTo(hDC,50,50);
  Polyline(hDC,points,6);
  Arc(hDC,63,137,138,212,100,137,100,137);
  Pie(hDC,213,137,288,212,240,137,260,137);
  Rectangle(hDC,213,212,187,250);
  RoundRect(hDC,213,100,287,137,20,20);
  DeleteObject(hPen);
  DeleteObject(hBrush);
  EndPaint(hWnd,&PtStr);
  //EndPaint(hDC,&PtStr);
              return 0;
     case WM_DESTROY:
              PostQuitMessage(0);
  return 0;
         default:
              return DefWindowProc(hWnd,iMessage,wParam,lParam);
  // return DefWindowProc(hwnd,message,wParam,lParam);
      }
      return(0);
   }//-------------------------InitWindows函数实现---------------------------
BOOL InitWindows(HINSTANCE hInstance,int nCmdShow)//BOOL InitWindows(INSTANCE hInstance,int nCmdShow)
{
  HWND hWnd;
  hWnd=CreateWindow("WinFill","填充示例程序",
                 WS_OVERLAPPEDWINDOW,
                      CW_USEDEFAULT,0,
  CW_USEDEFAULT,0,
  NULL,NULL,
  hInstance,NULL);
     if(!hWnd)
 return FALSE;
 hWndMain=hWnd;
        ShowWindow(hwnd,nCmdShow);
        UpdateWindow(hwnd);
        
   return TURE; 
}
//------------------InitWindowsClass函数实现--------------------------------
BOOL InitWindowsClass(HINSTANCE hInstance)
{
   WNDCLASS WndClass;
   WndClass.style=CS_HREDRAW|CDVREDRAW;//
   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.lpszClassName=""WinFill;//
   WndClass.lpszMenuName=NULL;//
   return RegisterClass(&WndClass);
}出错信息:
-------------------Configuration: API_2_1 - Win32 Debug--------------------
Compiling...
API_2_1.cpp
D:\坎坎坷坷\MyProjects\API_2_1\API_2_1.cpp(14) : error C2144: syntax error : missing ';' before type 'int'
D:\坎坎坷坷\MyProjects\API_2_1\API_2_1.cpp(14) : fatal error C1004: unexpected end of file found
Error executing cl.exe.API_2_1.exe - 2 error(s), 0 warning(s)

解决方案 »

  1.   

    就是这一行:
     
    int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)我不知道什么回事~~~
      

  2.   

    HWND hWndMain
    //----------------------主函数------------------------------
    int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)头一行的分号??
      

  3.   

    HWND hWndMain
    少了一个分号
      

  4.   

    HWND hWndMain--------------->???????,';'呢?
      

  5.   

    HWND hWndMain 这一行变成:HWND hWndMain;
      

  6.   

    楼主粗心,就是少了一个分号啊。
    HWND hWndMain 没有分号。
      

  7.   

    看来楼主也和我一样是一个初学这呀,所犯的错误和我又很多相似之处,呵呵下面是改过后的代码,我已经调试通过了!其中我所作的修改已经标出,楼主请小心查看。对了,如果可以的话大家交个朋友,以后大家相互多多帮助!
    QQ;69965868
    期待……中……#include<windows.h>
    #include<stdlib.h>
    #include<string.h>
    #include<StdAfx.h>      //一般都要添加long WINAPI WndProc(HWND hWnd,UINT iMessage,UINT wParam,LONG iParam);
        //WNDAPI     
    BOOL InitWindowsClass(HINSTANCE hInstance);
    BOOL InitWindows(HINSTANCE hInstance,int nCmdShow);//INSTANCE
    HWND hWndMain;        //此处楼主少了一个“;”
    //----------------------主函数------------------------------
    int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
     
    {
       
       MSG Message;
       if(!InitWindowsClass(hInstance))
       return FALSE;
       if(!InitWindows(hInstance,nCmdShow))
       return FALSE;
       while(GetMessage(&Message,0,0,0))
       {
        TranslateMessage(&Message);
    DispatchMessage(&Message);
       }
     return Message.wParam;
     
    } //----------------------WndProc函数实现----------------------------
    LRESULT CALLBACK WndProc(HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam)
       {
    HDC hDC;
    HBRUSH hBrush;
    HPEN hPen;
    PAINTSTRUCT PtStr;
    POINT points[6]={{100,212},{70,227},{70,250},{130,250},{130,227},{100,212}};
        switch(iMessage)
    {    
         case WM_PAINT:
      hDC=BeginPaint(hWnd,&PtStr);
      hPen=(HPEN)GetStockObject(NULL_PEN);
      //hPen=(BRUSH)GetStockObject(NULL_PEN)
      SelectObject(hDC,hPen);
      hBrush=(HBRUSH)GetStockObject(BLACK_BRUSH);
      //hBrush=(BRUSH)GetStockObject(BLACK_BRUSH);
      SelectObject(hDC,hBrush);
      LineTo(hDC,50,50);
      DeleteObject(hPen);
      hPen=CreatePen(PS_SOLID,2,RGB(255,0,0));
      SelectObject(hDC,hPen);
      LineTo(hDC,150,150);
      LineTo(hDC,100,137);
      LineTo(hDC,50,50);
      Polyline(hDC,points,6);
      Arc(hDC,63,137,138,212,100,137,100,137);
      Pie(hDC,213,137,288,212,240,137,260,137);
      Rectangle(hDC,213,212,187,250);
      RoundRect(hDC,213,100,287,137,20,20);
      DeleteObject(hPen);
      DeleteObject(hBrush);
      EndPaint(hWnd,&PtStr);
      //EndPaint(hDC,&PtStr);
                  return 0;
         case WM_DESTROY:
                  PostQuitMessage(0);
      return 0;
             default:
                  return DefWindowProc(hWnd,iMessage,wParam,lParam);
      // return DefWindowProc(hwnd,message,wParam,lParam);
          }
          return(0);
       }//-------------------------InitWindows函数实现---------------------------
    BOOL InitWindows(HINSTANCE hInstance,int nCmdShow)//BOOL InitWindows(INSTANCE hInstance,int nCmdShow)
    {
      HWND hWnd;
      hWnd=CreateWindow("WinFill","填充示例程序",
                     WS_OVERLAPPEDWINDOW,
                          CW_USEDEFAULT,0,
      CW_USEDEFAULT,0,
      NULL,NULL,
      hInstance,NULL);
         if(!hWnd)
     return FALSE;
     hWndMain=hWnd;
            ShowWindow(hWnd,nCmdShow);//楼主的输入有误
            UpdateWindow(hWnd);//这里楼主的输入有误
            
       return true; 
    }
    //------------------InitWindowsClass函数实现--------------------------------
    BOOL InitWindowsClass(HINSTANCE hInstance)
    {
       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.lpszClassName="WinFill";//这里楼主输入有误
       WndClass.lpszMenuName=NULL;//
       return RegisterClass(&WndClass);
    }