WinMain函数的问题

Hatake 2007-05-25 10:01:59
这几天刚学着写MFC...今天准备写个Hello World 小程序试试手....

出现了这样一个错误....

--------------------Configuration: WinMain_Text - Win32 Debug--------------------
Compiling...
WinMain_Text.cpp
F:\练习\WinMain_Text.cpp(17) : error C2731: 'WinMain' : function cannot be overloaded
F:\练习\WinMain_Text.cpp(11) : see declaration of 'WinMain'
Error executing cl.exe.

WinMain_Text.exe - 1 error(s), 0 warning(s)

*****************************************************
函数体如下:

int WINAPI WinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPWSTR lpCmdLine,
int nShowCmd
)
{
WNDCLASS wndclass;

wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;
wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
wndclass.hCursor = LoadCursor(NULL,IDC_ARROW);
wndclass.hIcon = LoadIcon(NULL,IDI_APPLICATION);
wndclass.hInstance = hInstance;
wndclass.lpfnWndProc = WinProc; //调用的函数
wndclass.lpszClassName = "Test";
wndclass.lpszMenuName = NULL;
wndclass.style = CS_HREDRAW | CS_VREDRAW;
RegisterClass(&wndclass);

HWND hwnd;
hwnd = CreateWindow("Text","Hello World!",WS_OVERLAPPEDWINDOW,0,0,600,400,NULL,NULL,hInstance,NULL);

ShowWindow(hwnd,SW_SHOWDEFAULT);
UpdateWindow(hwnd);

MSG msg;

while(GetMessage(&msg,hwnd,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}//end while

return 0;

}//end WinMain

还望达人解释下....谢谢!
...全文
401 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiangleivos 2008-01-24
  • 打赏
  • 举报
回复
遇到同样的问题,bob2034 是对的
ScottChinee 2007-10-16
  • 打赏
  • 举报
回复
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)

Win32程序WinMain原型
ringphone 2007-10-09
  • 打赏
  • 举报
回复
MFC类库里已经封装了WinMain函数,你不需要写WinMain,如果要写,必须是非MFC的工程。
bearxe 2007-10-08
  • 打赏
  • 举报
回复
mfc里面是有winmain的
可以找一本孙鑫老师的《vc++深入详解》看看
上面讲的 很清楚
job82824 2007-10-04
  • 打赏
  • 举报
回复
WinProc是什么?没有定义就直接调用,那怎么能行。
wltg2001 2007-10-04
  • 打赏
  • 举报
回复
而且,楼主说了学MFC,MFC中有WinMain吗?
wltg2001 2007-10-04
  • 打赏
  • 举报
回复
从错误上看,可能是工程建错了吧
bob2034 2007-10-04
  • 打赏
  • 举报
回复
参数类型是LPSTR,而不是LPWSTR


这条行的,但是不知道原理,可否请教一下?
长尾巴的悟空 2007-05-26
  • 打赏
  • 举报
回复
吐血,好久没看,居然忘了
seablue1023 2007-05-26
  • 打赏
  • 举报
回复
参数类型是LPSTR,而不是LPWSTR
山河会 2007-05-26
  • 打赏
  • 举报
回复
你建的工程是Win32 Application吧,不会建成了别的工程了吧.

另外检查一下windows.h包含了吗?
ggglivw 2007-05-26
  • 打赏
  • 举报
回复
while(true)
{
if(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
{
if(msg.message == WM_QUIT)
{
break;
}
TranslateMessage(&msg);
DispatchMessage(&msg);


}
}
return int(msg.wParam);
esprite2000 2007-05-25
  • 打赏
  • 举报
回复
这是全部代码吗?你用的是MFC向导生成的工程吗?
DBRBZYY 2007-05-25
  • 打赏
  • 举报
回复
这不是sdk编程么,我觉得你的winMain函数可能写错了,你在看看窗口过程函数WinProc,是不是值传错了。
菜牛 2007-05-25
  • 打赏
  • 举报
回复
int WinMain( HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow
);

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧