WinMain()重载错误

梵净游云 2008-11-23 03:19:45
各位高人,你们好!我是一个vc初学者,在使用VC2005编译一个win32 application 程序的时候提示error C2731: 'WinMain' : function cannot be overloaded 。 第一次写windows程序就遇到这么个问题,很久都没想出是什么原因引起的,郁闷死了!希望高人们不吝指点,不胜感激!
『注』:该程序在VC6.0中能正常编译执行。

程序代码如下:
#include "windows.h"

LRESULT CALLBACK WindowProc(
HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
);

int WINAPI WinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPWSTR lpCmdLine,
int nShowCmd
)
{
static LPCTSTR szAPPNAME=L"hulin";
WNDCLASSEX window;
MSG msg;
HWND hwnd;
window.cbClsExtra=0;
window.cbSize=sizeof(WNDCLASSEX);
window.cbWndExtra=0;
window.hbrBackground=static_cast<HBRUSH>(GetStockObject(LTGRAY_BRUSH));
window.hCursor=NULL;
window.hIcon=NULL;
window.hIconSm=NULL;
window.hInstance=hInstance;
window.lpfnWndProc=WindowProc;
window.lpszClassName=szAPPNAME;
window.lpszMenuName=0;
window.style=CS_HREDRAW | CS_VREDRAW;

RegisterClassEx(&window);

hwnd=CreateWindow(szAPPNAME,L"菜鸟第一次",WS_OVERLAPPEDWINDOW,0,50,400,600,0,0,hInstance,0);

ShowWindow(hwnd,SW_SHOW);
UpdateWindow(hwnd);

while(1==GetMessage(&msg,0,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return static_cast <int>(msg.wParam);
}
...全文
101 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
梵净游云 2008-11-23
  • 打赏
  • 举报
回复
谢谢2楼,虽然我自己已经解决了问题。但是,我依然感谢您的热心帮助。你的解答非常对。给分了!
chen_de_sheng 2008-11-23
  • 打赏
  • 举报
回复
2005用_tWinMain(.....)
梵净游云 2008-11-23
  • 打赏
  • 举报
回复
谢谢各位高人了,问题我自己解决了。原来是从MSDN上copy WinMain函数的时候选到Windows CE版的了。参数LPWSTR lpCmdLine 的类型不对。“LPWSTR”应该是“LPSTR”。
wind1373290 2008-11-23
  • 打赏
  • 举报
回复

int APIENTRY WinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine, //不是LPWSTR
int nShowCmd
)

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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