博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

 

今天写了一些代码,下面是一部分。

运行没有错误,但是就是什么窗口都没有创建显示出来。于是debug,发现hwnd即CreateWindow返回值为空。

为什么呢?想了好久,网上也找了很多资料。

最后发现是窗口过程函数LRESULT CALLBACK WindowProc写得有问题,于是一步步差错修正(很水的错误,不贴出来了)。最后运行成功,窗口显示正常!

 

// 创建窗口
 HWND hwnd;
 hwnd = CreateWindow(_T("myClassName"), _T("my Window Name"), WS_OVERLAPPEDWINDOW,
  0, 0, 600, 500, NULL, NULL, hInstance, NULL);
 if (!hwnd)// 
 {
  MessageBox(NULL,_T("Call to CreateWindow failed!"),_T("Win32 Guided Tour"),NULL);
  return 1;
 }

 

Error : hwnd 为空一般都是因为窗口过程函数LRESULT CALLBACK WindowProc写得有问题!!!

或者是内存不足(?有待研究)