| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 525 人关注过本帖
标题:最简单的窗口程序不能正常运行
只看楼主 加入收藏
culture
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-10-14
收藏
 问题点数:0 回复次数:2 
最简单的窗口程序不能正常运行

我编写了一个简单的窗口程序,检查多遍怎么也检查不出错误来,请VC高手看看,指出其中的错误或找出原因。小弟不胜感激……源程序如下:

#include <windows.h>
#include <stdio.h>
LRESULT CALLBACK WindowProc(
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 wincls;
wincls.cbClsExtra=0;
wincls.cbClsExtra=0;
wincls.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
wincls.hCursor=LoadCursor(NULL,IDC_ARROW);
wincls.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wincls.hInstance=hInstance;
wincls.lpfnWndProc=WindowProc;
wincls.lpszClassName="CUIT";
wincls.lpszMenuName=NULL;
wincls.style=CS_HREDRAW | CS_VREDRAW;
RegisterClass(&wincls);

HWND hwnd;
hwnd=CreateWindow(
"CUIT", // pointer to registered class name
"Culture", // pointer to window name
WS_OVERLAPPEDWINDOW, // window style
CW_USEDEFAULT, // horizontal position of window
0, // vertical position of window
600, // window width
400, // window height
NULL, // handle to parent or owner window
NULL, // handle to menu or child-window identifier
hInstance, // handle to application instance
NULL // pointer to window-creation data
);
ShowWindow(hwnd,SW_SHOWNORMAL);
UpdateWindow(hwnd);

MSG msg;
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}

return msg.wParam;
}

LRESULT CALLBACK WindowProc(
HWND hwnd, // handle to window
UINT uMsg, // message identifier
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
)
{
HDC hdc;
PAINTSTRUCT ps;
switch(uMsg)
{
case WM_PAINT:
hdc=BeginPaint(hwnd,&ps);
TextOut(hdc,0,0,"XXX编写",strlen("XXX编写"));
EndPaint(hwnd,&ps);
break;
case WM_CLOSE:
if(IDYES==MessageBox(hwnd,"是否真的结束?","Culture",MB_YESNO))
{
DestroyWindow(hwnd);
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd,uMsg,wParam,lParam);
}
return 0;
}


编译完全通过,只是运行时没有窗口弹出,在任务管理器里有相应的进程运行,不知道为什么,请指教。

一气之下昨晚把VC++6.0重装了多遍,一遍也没成功,现在连程序都写不了……郁闷啊
提示错误说是更新系统注册表时遇到问题
之后是程序安装失败,请重新运行安装程序。
每次都是这样……
高手指点

搜索更多相关主题的帖子: 窗口 运行 
2007-10-15 12:51
Janlex
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:303
专家分:0
注 册:2006-9-12
收藏
得分:0 
wincls.cbClsExtra = 0 ;
wincls.cbWndExtra = 0 ;

★★★★★欢迎光临我的博客 ★★★★★
http://www.
2007-10-15 14:16
culture
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-10-14
收藏
得分:0 

好像是我弄错了,是版主那样写的,还是敬佩版主的敬业精神、专注精神……
我以前用的是VC6.0编译的没有错误的,但是现在新装了Microsoft Visual Studio 2005编译的一塌糊涂,
不过刚才我又编译了一次,OK了
是我以前的软件有问题,搞得我郁闷了好几天……
非常感谢版主的帮助,谢谢……


May all lead to better!
2007-10-15 19:54
快速回复:最简单的窗口程序不能正常运行
数据加载中...
 
   



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

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