回 帖 发 新 帖 刷新版面

主题:[讨论]MFC程序能编译成功,但为什么不能连接成功?

这是个菜鸟问题了,刚刚学这个MFC,还不知道怎么运行。下面这个程序编译能够成功,但连接的时候就出错了,出错了那个地方,有人能告诉我吗?谢谢了!
    其代码如下:
#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[]="my_Windows";
 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)(COLOR_WINDOW+1);
 wndclass.lpszMenuName=NULL;
 wndclass.lpszClassName=lpszClassName;
 if(!RegisterClass(&wndclass))
 {
     MessageBeep(0);
     return FALSE;
 }
 hwnd=CreateWindow(lpszClassName,
                   lpszTitle,
                   WS_OVERLAPPEDWINDOW,
                   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);
}

回复列表 (共16个回复)

11 楼

去看看下面帖子中的回复
http://bbs.pfan.cn/post-281682.html

12 楼

打开PROJECT.
点c/c++
选预编译的头文件
单选:自动使用预补偿页眉

试试看,好象是这么搞的!

13 楼

入口函数不对吧. win32的程序入口是WinMain, 而控制台程序的入口点是main . 具体可看源码,在crt0.c 文件中. 可以更改编译选项为 /SUBSYSTEM:WINDOWS 或在新建工程时选择 win32程序,不要选控制台程序即可

14 楼

应该是WIN 32 application和WIN 32 comsole application的区别
楼主试一下,代码是没问题的

15 楼

我已经找出错误了:原来是一头文件的问题
添加了:#include <afxwin.h>之后就能运行了

16 楼

好像不用上面的头文件也能成功,都不知道我的电脑出什么状况了

我来回复

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