回 帖 发 新 帖 刷新版面

主题:编写窗口

#include "windows.h"
LRESULT CALLBACK WndProc(HWND ,UINT ,WPARAM    ,LPARAM );


int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInst,LPSTR lpszCmdLine,int nCmdShow)
{
    HWND hwnd;
    MSG     Msg;
    WNDCLASS wndclass;
    char lpszClassName[]="窗口";
    char lpszTitle[]="welcome";


    wndclass.style=0;
    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=lpszClassName;
    if(!RegisterClass(&wndclass))
    {
        MessageBeep(0);
        return FALSE;
    }
    hwnd=CreateWindow(
        lpszClassName,
        lpszTitle,
        WS_OVERLAPPED|WS_HSCROLL|WS_VSCROLL,
        CW_USEDEFAULT,
        CW_USEDEFAULT,
        CW_USEDEFAULT,
        CW_USEDEFAULT,
        NULL,
        NULL,
        hInstance,
        NULL
        );
    ShowWindow(hwnd,nCmdShow);
    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)
{
    switch(message)
    {
    case WM_DESTROY:
        PostQuitMessage(0);
    default:
        return DefWindowProc(hwnd,message,wParam,lParam);
    }
    return(0);
}
请问高手这段代码应该写在vc什么地方才能运行啊?
我是vc初学者,这是书上一段编写一个窗口的代码,但不知道怎么运行
如果写成.cpp格式,还会报错
IBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/新建 文本文档.exe : fatal error LNK1120: 1 unresolved externals
怎么回事呢?

回复列表 (共5个回复)

沙发

工程类型设置有错误.就设置为WIN32应用程序.

板凳

非常感谢!!!

3 楼


在新建项目中选择"Win32项目"为模板,前提是你选择Visual C++为项目类型
填了名字下一步后,停下,选择应用程序设置,给附加选项的空项目打上钩
好了

4 楼

奇怪了,第一次编译,运行都成功了,窗口也出来,然后把窗口关了。可是第二次再运行一下,就又回出现:
IBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/新建 文本文档.exe : fatal error LNK1120: 1 unresolved externals


这到底怎么回事呀!!!!!!!!!!!!!!!!!!!!

5 楼

谢谢各位!
我也刚好遇到这样的问题!现在终于明白了

我来回复

您尚未登录,请登录后再回复。点此登录或注册