///////////////////////////////////////////////////
///          hello.cpp-Windows API窗口程序      ///
///          作者:叶颖 [email protected]     ///
///////////////////////////////////////////////////#include <windows.h>
//windows.h头文件包含应用程序中所需的数据类型和数据结构的定义
LRESULT CALLBACK WndProc (HWND,UINT,WPARAM,LPARAM);//窗口函数声明
//以下代码的作用是初始化窗口类
int WINAPI WinMain (HINSTANCE hInstance,//WinMain函数声明
    HINSTANCE hPrevInstance,
    LPSTR szCmdLine,
    int iCmdShow)
{
static TCHAR szAppName[]=TEXT("Hello World!");
//窗口类名
static TCHAR lpszTitle[]=TEXT("My First Windows Program");
//窗口标题名
HWND      hwnd;
MSG       msg;
WNDCLASS  wndclass;
wndclass.style=CS_HREDRAW | CS_VREDRAW;//窗口类风格
wndclass.lpfnWndProc=WndProc;          //窗口处理函数为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,                 //窗口的左上角x坐标为默认值
CW_USEDEFAULT,                 //y轴坐标为默认值
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_PAINT:
hdc=BeginPaint(hwnd,&ps);
GetClientRect(hwnd,&rect);
DrawText(hdc,TEXT("Hello World!"),15,&rect,DT_SINGLELINE | DT_CENTER | DT_VCENTER);
EndPaint(hwnd,&ps);
return 0;
//退出窗口
case WM_DESTROY:
//调用PostQuitMessage函数发出WM_QUIT消息
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hwnd,message,wParam,lParam);
}代码编译已经通过,但在build的时候就总是出现
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/test.exe : fatal error LNK1120: 1 unresolved externals
两个错误,代码就是没问题的,新建工程的时候我也用了win32 console application,请大家帮帮忙