#include "windows.h"
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR szCmdLine,int iCmdShow)
{
static TCHAR szAppName[]=TEXT("HelloWin");
HWND hwnd;
MSG msg;
WNDCLASS wndclass;
wndclass.style=CS_HREDRAW|CS_VREDRAW;
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)GetStockObject(WHITE_BRUSH);
wndclass.lpszClassName=szAppName;
wndclass.lpszMenuName=NULL;
if(!RegisterClass(&wndclass))
{
MessageBox(NULL,TEXT("This program requires WindowsNT!"),szAppName,MB_ICONERROR);
return 0;
}
hwnd=CreateWindow(szAppName,
TEXT("The Hello Program"),
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
hInstance,
NULL);
ShowWindow(hwnd,iCmdShow);
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)
{
HDC hdc;
PAINTSTRUCT ps;
RECT rect;
switch(message)
{
case WM_CREATE:
PlaySound(TEXT("hellowin.wav"),NULL,SND_FILENAME|SND_ASYNC);
return 0;
case WM_PAINT:
hdc=BeginPaint(hwnd,&ps);
GetClientRect(hwnd,&rect);
DrawText(hdc,TEXT("Hello Window98!"),-1,&rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);
EndPaint(hwnd,&ps);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hwnd,message,wParam,lParam);
}
我想有些朋友看见这段程序很熟悉,的确,这就是《windows程序设计》上面的第二个示例,很典型,但是不知道我的VC++6.0为什么不能运行,我已经在程序->设置->link里面连接了winmm.lib和user.lib等必要库文件和头文件,但是在编译的时候还是提示
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/HELLOWIN.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
我想请教一下各位这是为什么?我刚学API,这么简单的程序都不能编译的话,心里很着急~~~~
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR szCmdLine,int iCmdShow)
{
static TCHAR szAppName[]=TEXT("HelloWin");
HWND hwnd;
MSG msg;
WNDCLASS wndclass;
wndclass.style=CS_HREDRAW|CS_VREDRAW;
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)GetStockObject(WHITE_BRUSH);
wndclass.lpszClassName=szAppName;
wndclass.lpszMenuName=NULL;
if(!RegisterClass(&wndclass))
{
MessageBox(NULL,TEXT("This program requires WindowsNT!"),szAppName,MB_ICONERROR);
return 0;
}
hwnd=CreateWindow(szAppName,
TEXT("The Hello Program"),
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
hInstance,
NULL);
ShowWindow(hwnd,iCmdShow);
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)
{
HDC hdc;
PAINTSTRUCT ps;
RECT rect;
switch(message)
{
case WM_CREATE:
PlaySound(TEXT("hellowin.wav"),NULL,SND_FILENAME|SND_ASYNC);
return 0;
case WM_PAINT:
hdc=BeginPaint(hwnd,&ps);
GetClientRect(hwnd,&rect);
DrawText(hdc,TEXT("Hello Window98!"),-1,&rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);
EndPaint(hwnd,&ps);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hwnd,message,wParam,lParam);
}
我想有些朋友看见这段程序很熟悉,的确,这就是《windows程序设计》上面的第二个示例,很典型,但是不知道我的VC++6.0为什么不能运行,我已经在程序->设置->link里面连接了winmm.lib和user.lib等必要库文件和头文件,但是在编译的时候还是提示
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/HELLOWIN.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
我想请教一下各位这是为什么?我刚学API,这么简单的程序都不能编译的话,心里很着急~~~~
解决方案 »
- 怎样隐藏模态对话框的窗口?
- 我在view窗口上加了个子窗口(是个对话框),但是灰色的,无法获取输入焦点,怎么办.........
- VC++6.0中的一个奇怪的现象!哪位可以解释一下啦?
- ********薪水定了,税前7000元,大家说在微软做测试开发能学到东西吗。顺便问下,那的测试美女真的多吗,小弟目前光棍,想顺便搞几个
- 急:用QueryPerformanceCounter计算程序执行速度时遇到的问题。在线等
- 请教ATL的添加事件(只能加入定义,不能加入方法)?
- m_static.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON1));为何这个Static控件还是没有显示 出图片来
- 请问VB代码=》VC代码的问题
- 请教:Directx8 和oracle联合使用时间改变的问题。
- 请问哪儿有VS.NET7 Beta2的下载?谢谢
- VC6英文版不能安装,救命啊
- 两个modem怎么连接?
明白了?
PlaySound的毛病~
还有~新建一个Win32 Application~然后选第二项~
link tab
Project Options
/subsystem:console change to /subsystem:windows
link tab
Project Options
/subsystem:console change to /subsystem:windows
-----------------------------
这样就OK了!真是厉害,能告诉我这是为什么吗?结贴
这不还是工程类型的毛病~
faint~