编译通过,但无法运行,请高手指点入门菜鸟

sxrj 2006-08-08 02:30:59
我是一个纯粹自学VC的爱好者,身没有搞编程的人,现在用的教材是黄维通的<VISUAL C++面向对象与可视化程序设计>一书,但我做的程序却无法运行,
我建立程序的步骤如下:
1在新建对话框中选择PROJECTS标签,然后选择WIN32 APPLICATION选项,输入文件名以后点确实,在出现的WIN32 APPLICATION STEP 1 中选择AN EMPTY PROJECT,点完成
2打开工程以后,再用新建命令建立一个C++ SOURCE FILE文件,文件名ONE
3最后在相应的ONE.CPP下输入如下代码
//windows.h 文件包含应用程序中所需要的数据类型和数据结构定义

#include <windows.h>

LRESULT CALLBACK WndProc(HWND, UINT, WPARAM,LPARAM);//窗口函数据说明
//---------以下为初始化--------
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInst,LPSTR lpszCmdLine,int nCmdShow)
{
HWND hwnd;
MSG Msg;
WNDCLASS wndclass;
char lpszClassName[]="窗口"; //窗口类名称
char lpszTitle[]="My_Windows"; //窗口标题名

//窗口类的定义
wndclass.style=0; //窗口类型为默认类型
wndclass.lpfnWndProc=WndProc; //窗口处理函数为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=(NULL); //窗口中无菜单
wndclass.lpszClassName=lpszClassName; //窗口类名为“窗口示例”

//------以下进行窗口类注册------
if(!RegisterClass(&wndclass)) //如果注册失败则发出报警的声音
{
MessageBeep(0);
return FALSE;
}

//创建窗口
hwnd=CreateWindow( lpszClassName, //窗口类名
lpszTitle, //窗口实例的标题名
WS_OVERLAPPEDWINDOW,//窗口风格
CW_USEDEFAULT,
CW_USEDEFAULT, //窗口左上角坐标为默认值
CW_USEDEFAULT,
CW_USEDEFAULT, //窗口高度和宽度为默认值
NULL, //此窗口无父窗口
NULL, //此窗口无主菜单
hInstance, //创建此窗口应用程序的当前句柄
NULL //不使用该值
);
ShowWindow(hwnd, nCmdShow); //显示窗口
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)
{
switch(message)
{
case WM_DESTROY:
PostQuitMessage(0); //调用PostQuitMessage发出WM_QUIT消息
default:
return DefWindowProc(hwnd, message, wParam, lParam);
}
return(0);
}

4编译结果没有错误,也没有警告,可一运行就出现"0X77E0D6F6"指令引用的"0XCCCCCCC"内存.该内存不能为"READ:.要终止程序请单击"确实",要调试程序,请单击"取消",单击取消后画面最终停止在一个黄箭头指向77E0D6F6 REPNE SCAS BYTE PTR[EDI]的地方

做为初学者,我反复检查没有看出问题出在那里,问题也许可笑,但还是希望能够得到高手的指点,谢谢大家了.
...全文
166 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sxrj 2006-08-09
  • 打赏
  • 举报
回复
谢谢各位高手了,已经通过编译了
ykzhujiang 2006-08-08
  • 打赏
  • 举报
回复
同意楼上的
YeTimmy 2006-08-08
  • 打赏
  • 举报
回复
wndclass.lpszClassName=(NULL); //窗口中无菜单
wndclass.lpszClassName=lpszClassName; //窗口类名为“窗口示例”

写错了,应该是wndclass.lpszMenuName=(NULL);

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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