回 帖 发 新 帖 刷新版面

主题:基础中的基础问题

#include<windows.h>
#include<stdio.h>
LRESULT CALLBACK WinSunProc(          
    HWND hwnd,
    UINT uMsg,
    WPARAM wParam,
    LPARAM lParam
);

int WINAPI WinMain( 
    HINSTANCE hInstance,
    HINSTANCE hPrevInstance,
    LPSTR lpCmdLine,
    int nCmdShow
)
{
    WNDCLASS wndcls;
    wndcls.style = CS_HREDRAW | CS_VREDRAW;
    wndcls.lpfnWndProc= WinSunProc;
    wndcls.cbClsExtra = 0;
    wndcls.cbWndExtra = 0;
    wndcls.hInstance = hInstance;
    wndcls.hIcon=LoadIcon(NULL, IDC_CROSS);
    wndcls.hCursor = LoadCursor( NULL, IDI_ERROR );
    wndcls.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
    wndcls.lpszMenuName = NULL;
    LPCTSTR lpszClassName = "wuyufei";
    HWND hwnd;
    hwnd = CreateWindow("wuyufei","生命在于学习", WS_OVERLAPPEDWINDOW, 0, 0,
        600, 400, NULL, NULL, hInstance,NULL);

    ShowWindow(hwnd, SW_SHOWNORMAL );
    UpdateWindow( hwnd );
    
    MSG msg;
    while(GetMessage(&msg, NULL,0,0 ) )
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg );
    }
    return 0;
}

LRESULT CALLBACK WinSunProc(          HWND hwnd,
    UINT uMsg,
    WPARAM wParam,
    LPARAM lParam
)
{
    switch( uMsg )
    {
    case WM_CHAR:
        char szChar[ 20 ];
        sprintf(szChar,"char is %d", wParam );
        MessageBox(hwnd, szChar, "woaini", 0 );
        break;
    case WM_LBUTTONDOWN:
        MessageBox( hwnd, "mouse clicked", "woaini", 0 );
        HDC hdc;
        hdc = GetDC(hwnd );
        TextOut(hdc, 0, 50, "生命在于学习", strlen("生命在于学习"));
        ReleaseDC(hwnd, hdc );
        break;
    case WM_PAINT:
        HDC hDC;
        PAINTSTRUCT ps;
        hDC = BeginPaint( hwnd, &ps );
        TextOut( hDC, 0, 0, "学编程", strlen("学编程"));
        EndPaint( hwnd, &ps ); 
        break;
    case WM_CLOSE:
               if(IDYES == MessageBox( hwnd, "是否真的结束? ", "woaini", MB_YESNO))
        {
            DestroyWindow( hwnd );
        }
        break;
    case WM_DESTROY:
        PostQuitMessage( 0 );
        break;
    default:
        return DefWindowProc( hwnd, uMsg, wParam, lParam );
    }
    return 0;
}

小弟刚接触这个不久,模仿着做一个窗口,在vc++ 6.0上能正常编译,但连接时出现如下错误:请指正!!
Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/winmain.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

winmain.exe - 2 error(s), 0 warning(s)

回复列表 (共4个回复)

沙发


小弟按照高手们的指点:[Project] --> [Settings] --> 选择"Link"属性页, 
在Project Options中将/subsystem:console改成/subsystem:windows 
编译连接也能运行,可是却不出现窗口!为什么?????????
谁能告诉我,问题出现在哪里????
跪求答案!!!!!!!!!

板凳

1. 你数下你的 WNDCLASS 结构的填写行数够么?
2. 你有调用 RegisterClass 么?

3 楼

寻找一直寻找机会的人!
一个趋势中的趋势的项目!
一个直销和传销终结者的项目!
一个帮助普通创业者成功的项目!
   我们在互联网上正在拓展一个生意项目,现在正在寻求合作伙伴。我们认为成功的关键是你是什么人?还有你和谁在一起。我们在乎的是--您是否是有激情、有梦想的人。有意者请跟我们联系,我们和您谈谈,给您讲解一些生意概念,或许我们可以合作。一个集即时网游、交友,娱乐游戏,网络品牌代理商城,互联网平台项目招商进行中……详情QQ空间资料 http://user.qzone.qq.com/909065437/infocenter
网商咨询 摩客天宇QQ 909065437 

4 楼

法蕾雅竹纤维竹元诚

寻找一直寻找机会的人!
一个趋势中的趋势的项目!
一个直销和传销终结者的项目!
一个帮助普通创业者成功的项目!
   我们在互联网上正在拓展一个生意项目,现在正在寻求合作伙伴。我们认为成功的关键是你是什么人?还有你和谁在一起。我们在乎的是--您是否是有激情、有梦想的人。有意者请跟我们联系,我们和您谈谈,给您讲解一些生意概念,或许我们可以合作。一个集即21世纪品质生活、健康生活,生态家纺,网络品牌代理商城,互联网平台项目招商进行中……详情QQ空间资料 http://294355161.qzone.qq.com
网商咨询 法蕾雅竹元诚QQ 294355161 
科技之光传访法蕾雅http://player.youku.com/player.php/sid/XMTc2MzY4MjQ0/v.swf
法蕾雅竹纤维的神奇六大功效新浪博客
http://blog.sina.com.cn/s/blog_6ca0216a0100n7hq.html 
 

我来回复

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