菜鸟模仿学习孙鑫老师的教程。自己写却调不通。帮帮我。

na2650945 2009-01-13 08:51:46
程序的代码。
基本都是按着视频打进去的。

#include <windows.h>
#include <stdio.h>



LRESULT CALLBACK Replace(
HWND hwnd, // handle to window
UINT uMsg, // message identifier
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
);



int WINAPI WinMain(
HINSTANCE hInstance, // handle to current instance
HINSTANCE hPrevInstance, // handle to previous instance
LPSTR lpCmdLine, // pointer to command line
int nCmdShow // show state of window
)
{
WNDCLASS wndclass;
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
wndclass.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);
wndclass.hCursor=LoadCursor(NULL,IDC_CROSS);
wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wndclass.hInstance=hInstance;
wndclass.lpfnWndProc=Replace;
wndclass.lpszClassName="wangchu";
wndclass.lpszMenuName=NULL;
wndclass.style=CS_HREDRAW||CS_VREDRAW;
RegisterClass(&wndclass);



HWND hwnd;
hwnd=CreateWindow("wangchu","wangchu",WS_OVERLAPPEDWINDOW,100,100,400,600,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 Replace(
HWND hwnd, // handle to window
UINT uMsg, // message identifier
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
)
{
switch(uMsg)
{
case WM_CHAR:
char szChar[20];
sprintf(szChar,"输入的字母是%S",wParam);
MessageBox(hwnd,szChar,"YES?",MB_OK);
break;
case WM_LBUTTONDOWN:
MessageBox(hwnd,"wangchu","YES?",MB_OK);
HDC hdc1;
hdc1=GetDC(hwnd);
TextOut(hdc1,0,50,"wangchu",strlen("wangchu"));
ReleaseDC(hwnd,hdc1);
break;
case WM_PAINT:
HDC hdc2;
PAINTSTRUCT ps;
hdc2=BeginPaint(hwnd,&ps);
TextOut(hdc2,0,100,"wangchu",strlen("wangchu"));
EndPaint(hwnd,&ps);
break;
case WM_CLOSE:
if(IDYES==MessageBox(hwnd,"YES?","wangchu",MB_YESNO))
{
DestroyWindow(hwnd);
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
DefWindowProc(hwnd,uMsg,wParam,lParam);
}
return 0;
}

提示的错误是。
--------------------Configuration: WinMain - Win32 Debug--------------------
Compiling...
WinMain.cpp
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)


实在没看懂错误。
帮帮我这个刚入门就受挫的菜鸟吧。
...全文
71 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
na2650945 2009-01-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ckt1120 的回复:]
工程错了
1.新建win32工程而不是控制台工程 .
2.修改工程设置
setting->link-> project options:
修改/subsystem:console为/subsystem:windows
或者直接删除/subsystem:windows
[/Quote]
剩下一个错误啦。
Error executing link.exe
您的第一条建议那个改的那个。
我没找到啊。
我就来的第二条。
na2650945 2009-01-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ckt1120 的回复:]
工程错了
1.新建win32工程而不是控制台工程 .
2.修改工程设置
setting->link-> project options:
修改/subsystem:console为/subsystem:windows
或者直接删除/subsystem:windows
[/Quote]
剩下一个错误啦。
Error executing link.exe
您的第一条建议那个改的那个。
我没找到啊。
我就来的第二条。
na2650945 2009-01-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ckt1120 的回复:]
工程错了
1.新建win32工程而不是控制台工程 .
2.修改工程设置
setting->link-> project options:
修改/subsystem:console为/subsystem:windows
或者直接删除/subsystem:windows
[/Quote]
剩下一个错误啦。
Error executing link.exe
您的第一条建议那个改的那个。
我没找到啊。
我就来的第二条。
篷篙人 2009-01-13
  • 打赏
  • 举报
回复
如果lz是用的visual c++ 6的话 那就是建win32 application 工程
ckt 2009-01-13
  • 打赏
  • 举报
回复
工程错了
1.新建win32工程而不是控制台工程 .
2.修改工程设置
setting->link-> project options:
修改/subsystem:console为/subsystem:windows
或者直接删除/subsystem:windows

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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