注册 登录
编程论坛 VC++/MFC

求解决,编译通过了,为啥不有窗口,谢谢!

NBABOY 发布于 2013-08-18 18:50, 963 次点击
求解决,编译通过了,为啥不有窗口,谢谢!
#include <windows.h>
#include<stdio.h>
LRESULT CALLBACK WndProc(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam);
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow)
{   HWND hwnd;
    WNDCLASS wndcls;
    MSG msg;
    UNREFERENCED_PARAMETER(lpCmdLine);
    wndcls.style=CS_HREDRAW|CS_VREDRAW;
    wndcls.lpszMenuName=NULL;
    wndcls.lpszClassName="ex1";
    wndcls.cbClsExtra=0;
    wndcls.cbWndExtra=0;
    wndcls.lpfnWndProc=WndProc;
    wndcls.hIcon=LoadIcon(NULL,IDI_ERROR);
    wndcls.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);
    wndcls.hCursor=LoadCursor(NULL,IDC_CROSS);
    wndcls.hInstance=hInstance;
    RegisterClass(&wndcls);
    hwnd=CreateWindow("ex1","第一个Windows程序",WS_OVERLAPPEDWINDOW,0,0,600,400,NULL,NULL,hInstance,NULL);
    ShowWindow(hwnd,SW_SHOWNORMAL);
    UpdateWindow(hwnd);

    while(GetMessage(&msg,NULL,0,0))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
        
        }
    return 0/*(msg.wParam)*/;//原文是返回0;
}
LRESULT CALLBACK WndProc( HWND hwnd,  UINT uMsg,WPARAM wParam, LPARAM lParam)
{
    char *szChar="\0";   
    switch(uMsg)
    {
    case WM_CLOSE:
        if(IDYES==MessageBox(hwnd, "是否真的结束? ",
                "确认结束程序",MB_YESNO))
            DestroyWindow(hwnd);
        break;
    case WM_DESTROY:
        PostQuitMessage(0);   
        break;
    case WM_CHAR:
        
        sprintf(szChar, "你按下了%c",wParam);
        MessageBox(hwnd,szChar, "字符",0);  
        break;
    case WM_LBUTTONDOWN:
        MessageBox(hwnd, "你单击了鼠标左键","鼠标单击通知",0);
        break;
    default:
        return DefWindowProc(hwnd,uMsg,wParam,lParam);
    }
    return 0;
}
11 回复
#2
yuccn2013-08-18 20:09
我用你的代码,运行没有问题,你创建的工程没有问题吧
#3
NBABOY2013-08-18 21:18
运行出什么结果?
#4
NBABOY2013-08-18 22:20
链接出错,求解决问题,谢谢了,是哪里出错了?
#5
yuccn2013-08-18 23:04
回复 4楼 NBABOY
链接什么错误?贴出来
#6
NBABOY2013-08-18 23:49
IBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
是这么说的,未解决的外部符号
#7
yuccn2013-08-19 08:17
晕,你创建的是控台程序
看下创建cui控台程序和gui的应用程序的差别吧。
#8
NBABOY2013-08-19 14:09
我是菜鸟,谢谢了
#9
芦苇太帅了2013-08-19 22:40
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
这是你的程序运行的结果,你从哪拷贝的吧,我怎么找不到主函数main( )啊。你应该是从哪个程序中截的一段代码,里面声明和定义了许多变量,没有标准输入和输出命令,只是有一个while循环和switch结构,没有其他操作,这算哪门子代码吗,无语了。有了问题才问,我会努力帮你的。
    芦苇太帅了
#10
yuccn2013-08-20 08:13
回复 9楼 芦苇太帅了
你的回答,好像你也不明白为什么出错
#11
芦苇太帅了2013-08-22 18:16
无语了,说句实话还招人。
#12
holy__shit2013-08-23 21:28
回复 楼主 NBABOY
工程建错.!
1