#include <windows.h>  #include"resource.h"
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;
//BOOL CALLBACK  openPROC(HWND,UINT,WPARAM,LPARAM);
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,PSTR szCmdLine,int iCmdShow)
{
static char szAppName[] = "示例" ;         HWND hwnd ;                                
MSG msg ;                                  
WNDCLASSEX wndclass ;                      
wndclass.cbSize = sizeof (wndclass) ;      
wndclass.style = CS_HREDRAW | CS_VREDRAW ; 
wndclass.lpfnWndProc = WndProc ;           
wndclass.cbClsExtra = 0 ;                  
wndclass.cbWndExtra = 0 ;                 
wndclass.hInstance = hInstance ;        
wndclass.hIcon = LoadIcon (hInstance, IDI_APPLICATION) ;
wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ;      
wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ; 
wndclass.lpszMenuName = MAKEINTRESOURCE(IDR_MENU1);                                  
wndclass.lpszClassName = szAppName ;       
wndclass.hIconSm = LoadIcon (hInstance, MAKEINTRESOURCE(IDI_ICON1)) ;
 
if(! RegisterClassEx (&wndclass))         
{
MessageBeep(0);
return FALSE;
}
hwnd = CreateWindow (
szAppName,                           //窗口类名
"示例9_1",                           //窗口标题名
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 iMsg,                                 //代表所处理消息的消息值
WPARAM wParam,                            //消息的附加参数
LPARAM lParam)                             //消息的附加参数
{
switch (iMsg)
{case WM_CLOSE:
if(IDYES==MessageBox(hwnd,"是否真的结束?","weixin",MB_YESNO))
{
DestroyWindow(hwnd);
}
break;
case WM_DESTROY :
PostQuitMessage (0) ;        //调用函数PostQuitessage退出程序
return 0 ;}
return DefWindowProc (hwnd, iMsg, wParam, lParam) ;
}错误:
Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/wj.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.wj.exe - 2 error(s), 0 warning(s)

解决方案 »

  1.   

    在程序的任何地方加上
    #ifdef _DEBUG
    #pragma comment(lib, "libcd.lib")
    #else
    #pragma comment(lib, "libc.lib")
    #endif大概是这个样子,不知道有没有拼写错误
      

  2.   

    看样子是没有找到main()函数,,,
    但看你的程序你可能是建的工程类型错了,你可能建的是WIN32控制台的程序。
      

  3.   

    你本来建的是一个Console程序,却写成了WIN32 APP程序,所以找不到入口了
    在project->setting->link的project options项里看看,是不是有一个/subsystem:console?
    如果是,把/subsystem:console 换成/subsystem:windows