新手求救!hello world!

yyouyou 2005-01-18 06:51:51
#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.lpszMenuName = NULL ;


wndclass.lpszClassName= szAppName ;


if (!RegisterClass (&wndclass))

{

MessageBox ( NULL, TEXT ("This program requires Windows NT!"),szA
ppName, MB_ICONERROR) ;

return 0 ;

}

hwnd = CreateWindow( szAppName, // window class name

TEXT ("The Hello Program"), // window caption

WS_OVERLAPPEDWINDOW, // window style

CW_USEDEFAULT,// initial x position

CW_USEDEFAULT,// initial y position

CW_USEDEFAULT,// initial x size

CW_USEDEFAULT,// initial y size

NULL, // parent window handle

NULL, // window menu handle

hInstance, // program instance handle

NULL) ; // creation parameters



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 lPara
m)

{

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, Windows 98!"), -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程序设计>>里面的第一个程序。编译可以通过,但是就是不能执行。
提示信息:
--------------------Configuration: HELLOWIN - Win32 Debug--------------------

Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/HELLOWIN.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错.

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

看不懂了,郁闷,用VC++6.0编译的。高手指点啊。
谢谢了先啊!
...全文
72 点赞 收藏 5
写回复
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yyouyou 2005-01-18
恩,谢谢谢谢.现在对了.
c和c++得好好再看看.
不过先去看看怎么给分,呵呵.
回复
wizard13 2005-01-18
工程还没会建,奉劝你还是先学好C和C++吧。
上面确实是你工程建错了,
要建成win32 application
回复
yyouyou 2005-01-18
我是先将那个程序保存为HELLOWIN.C,然后用VC++6.0打开,然后complie,弹出对话框,"This build command requires an active project workspace.Would you like to creat a default project workspace?"选择"是",编译结果:
--------------------Configuration: HELLOWIN - Win32 Debug--------------------
Compiling...
HELLOWIN.C

HELLOWIN.OBJ - 0 error(s), 0 warning(s)

然后运行,提示"This file does exist .Do you want to build it?"
选择"是",然后提示:
--------------------Configuration: HELLOWIN - Win32 Debug--------------------
Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/HELLOWIN.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错.

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

我刚刚学,不知道怎么建工程,还得请各位多多指点了,谢谢.
回复
bailinggui 2005-01-18
没有问题!!
我调了!
你生成的是什么工程???
回复
wizard13 2005-01-18
是不是工程建错了~
回复
发动态
发帖子
资源
创建于2007-09-28

2575

社区成员

VC/MFC 资源
申请成为版主
社区公告
暂无公告