小弟初学Windows编程,问一个关于窗口构造体WNDCLASS的问题?

来源:百度知道 编辑:UC知道 时间:2024/06/22 14:59:12
写了一个最简单的Windows程序(就是一个简单窗口响应几个消息的程序),编译,链接都完全正确,但运行的时候窗口始终出不来,但在任务管理器里看进程已经产生了。后来发现问题的根源就是在给WNDCLASS构造体变量的各个成员赋值的时候,某一个成员(cbWndExtra)忘记赋值了。把这个成员赋值后就完全正常了,但不清楚原因,还请高手指点。谢谢

个人感觉不是,给cbWndExtra复制的问题,
如果程序的进程已经产生,但窗口却未出现
那么一般可能有两种情况
1)在创建窗口后条用函数BOOL ShowWindow(
HWND hWnd, // handle to window
int nCmdShow // show state
); 可以解决

2)或者在创建窗口的时候CreateWindow的第四个参数上按位或上WS_VISIBLE
即 | WS_VISIBLE

按楼主说的cbWndExtra成员忘记赋值,好像编译连接都能通过,但是运行的时候会出现 ”内存不能为read“ 一类的错误的
========================================================
要不你发个代码过来看看 我qq:409355565

还有楼下的不要抄袭(⊙o⊙)哦

1)在创建窗口后条用函数BOOL ShowWindow(
HWND hWnd, // handle to window
int nCmdShow // show state
); 可以解决

2)或者在创建窗口的时候CreateWindow的第四个参数上按位或上WS_VISIBLE
即 | WS_VISIBLE

按楼主说的cbWndExtra成员忘记赋值,好像编译连接都能通过,但是运行的时候会出现 ”内存不能为read“ 一类的错误的