CreateWindowEx返回句柄为0, GetLastError却返回0 .

(转)CreateWindowEx返回句柄为0, GetLastError却返回0 .

这个问题真是奇怪, 明明CreateWindowEx失败了, 却, 紧跟着GetLastError却返回0说成功. fuck widnows!

其实创建窗口失败是因为, 我们注册的窗口处理函数里面 没有处理 WM_CREATE 等几个窗口刚创建的时候发送给窗口的几个消息, 在窗口处理函数里面调用 DefWindowProc() 搞定.

/////////////////
哈哈哈哈哈哈~~~~~俺终于自己调出来了,来公布正确答案!!!
原来是WndProc没有写对,没有处理好一些系统消息,比如WM_CREATE~
只要在WndProc正确处理了就好,哪怕是调用DefWindowProc也好~
再通过一个导出函数进入其主消息循环,就可以了~
值得借鉴的经验,CreateWindow返回NULL且GetLastError正常的时候,应该就是这个问题了!

原文链接: http://blog.csdn.net/zdl1016/article/details/3952825

你可能感兴趣的:(CreateWindowEx返回句柄为0, GetLastError却返回0 .)