| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 888 人关注过本帖, 1 人收藏
标题:一个windows应用
只看楼主 加入收藏
燕过风
Rank: 2
等 级:论坛游民
帖 子:19
专家分:10
注 册:2010-4-9
结帖率:85.71%
收藏(1)
已结贴  问题点数:5 回复次数:4 
一个windows应用
程序代码:
#include<windows.h>
#include<stdio.h>

HINSTANCE hInst;
HWND hWndMain;
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInst,PSTR lpszCmdLine,int nCmdShow)
{MSG msg;
WNDCLASS wnd;
wnd.style=CS_HREDRAW |CS_VREDRAW;
wnd.cbClsExtra = 0;
wnd.cbWndExtra = 0;
wnd.hbrBackground = (HBRUSH)::GetStockObject(WHITE_BRUSH);
wnd.hCursor = ::LoadCursor(NULL,IDC_ARROW);
wnd.hIcon = ::LoadIcon(NULL,IDI_APPLICATION);
wnd.hInstance = hInstance;
wnd.lpfnWndProc = WndProc;
wnd.lpszClassName="generic";
wnd.lpszMenuName = NULL;
if (!RegisterClass(&wnd))
{ return FALSE;
}
hWndMain = CreateWindow("generic","简单的窗口演示程序",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,
                        NULL,NULL,hInstance,NULL);
ShowWindow(hWndMain,nCmdShow);
UpdateWindow(hWndMain);
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;
char *hello = "这是一个Windows模块程序!";
char Buffer[256];
int x,y;
switch(message)
{
case WM_PAINT:
    hdc = BeginPaint(hwnd,&ps);
    TextOut(hdc,20,10,hello,lstrlen(hello));
    EndPaint(hwnd,&ps);
    break;
case WM_CHAR:
    hdc = GetDC(hwnd);
    sprintf(Buffer,"      ");
    TextOut(hdc,0,0,Buffer,strlen(Buffer));
    sprintf(Buffer,"%c",wParam);
    TextOut(hdc,0,0,Buffer,strlen(Buffer));
    ReleaseDC(hwnd,hdc);
    break;
case WM_LBUTTONDOWN:
    hdc = GetDC(hwnd);
    x = LOWORD(lParam);
    y = HIWORD(lParam);
    Ellipse(hdc,x-10,y-10,x+10,y+10);
    break;
case WM_DESTROY:
    PostQuitMessage(0);
    break;
default:
    return(DefWindowProc(hwnd,message,wParam,lParam));
}
return(0);
}
编译没问题,但是运行时总是出错:
程序代码:
--------------------Configuration: generic - Win32 Debug--------------------
Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/generic.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错.

generic.exe - 1 error(s), 0 warning(s)
谁能告诉我这个问题出在哪?有没有类似其他的出错信息,一起告诉我
搜索更多相关主题的帖子: windows 应用 
2010-06-04 20:19
hahayezhe
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖南张家界
等 级:贵宾
威 望:24
帖 子:1386
专家分:6999
注 册:2010-3-8
收藏
得分:5 
wnd.hbrBackground = (HBRUSH)::GetStockObject(WHITE_BRUSH);
没必要用域名解析符吧
你这个程序连接的函数入口是设置的windows程序吗
在 项目-属性-连接 里面找下 将主函数入口设置为windows应用程序
2010-06-05 08:24
燕过风
Rank: 2
等 级:论坛游民
帖 子:19
专家分:10
注 册:2010-4-9
收藏
得分:0 
回复 2楼 hahayezhe
程序代码:
-------------------Configuration: generic - Win32 Debug--------------------
Linking...
LINK : error LNK2001: unresolved external symbol _windows应用程序
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/generic.exe : fatal error LNK1120: 2 unresolved externals
执行 link.exe 时出错.

generic.exe - 1 error(s), 0 warning(s)
出现了这个提示,你可以用VC++6.0写一下
2010-06-05 23:56
x88484532
Rank: 2
等 级:论坛游民
帖 子:34
专家分:30
注 册:2010-8-5
收藏
得分:0 
收藏了,慢慢学习
2010-08-09 15:47
q260548893
Rank: 2
等 级:论坛游民
帖 子:24
专家分:46
注 册:2010-2-4
收藏
得分:0 
可能是工程建错了!应该是Win32 application!
2010-08-20 05:41
快速回复:一个windows应用
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.123888 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved