在学习Windows开发期间,遇到的问题。

写了一个GUI项目,运行之后,没有反应。调试后发现,CreateWindow函数返回NULL。大概的代码如下:

#include "main.h"
#include<algorithm>
#include<iostream>char szFilePath[MAX_PATH] = { 0 };
char szResult[4096];
CQueue<QueueElement> queue;
TCHAR* szMutex = _T("__mutex__l32__");int WINAPI _tWinMain(HINSTANCE hThis, HINSTANCE hPrev, LPTSTR szCommandLine, int iCmdShow)
{UNREFERENCED_PARAMETER(hPrev);UNREFERENCED_PARAMETER(szCommandLine);TCHAR* szWindowClass = _T("__concurrent_operation__");WNDCLASSEX wndEx;wndEx.cbSize = sizeof(WNDCLASSEX);wndEx.style = CS_HREDRAW | CS_VREDRAW;wndEx.lpfnWndProc = WindowProcedure;wndEx.cbClsExtra = 0;wndEx.cbWndExtra = 0;wndEx.hInstance = hThis;wndEx.hIcon = LoadIcon(wndEx.hInstance, MAKEINTRESOURCE(IDI_APPLICATION));wndEx.hIconSm = LoadIcon(wndEx.hInstance, MAKEINTRESOURCE(IDI_APPLICATION));wndEx.hCursor = LoadCursor(nullptr, IDC_ARROW);wndEx.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);wndEx.lpszMenuName = NULL;wndEx.lpszClassName = _T("__concurrent_operation__");if (!RegisterClassEx(&wndEx)){return 1;}InitCommonControls();HWND hWnd = CreateWindow(szWindowClass, _T("Concurrent operation"),WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU, 50, 50, 305, 250,NULL, NULL, wndEx.hInstance, NULL);if (!hWnd){return 1;}ShowWindow(hWnd, SW_SHOW);HANDLE hMutex = CreateMutex(NULL, FALSE, szMutex);MSG msg;while (GetMessage(&msg, 0, 0, 0)){TranslateMessage(&msg);DispatchMessage(&msg);}CloseHandle(hMutex);UnregisterClass(wndEx.lpszClassName, wndEx.hInstance);return (int)msg.wParam;
}

经过查找网络,终于发现 问题在于

wndEx.lpszClassName = _T("__concurrent_operation__");

CreateWindow(szWindowClass, _T("Concurrent operation"),
WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU, 50, 50, 305, 250,
NULL, NULL, wndEx.hInstance, NULL);

中的第一个参数不一致。虽然都是同一个字符串,但这样也不行。

后来改为 wndEx.lpszClassName = szWindowClass; 顺利通过

CreateWindow函数返回NULL相关推荐

  1. R语言dim函数返回NULL

    R语言dim函数返回NULL 目录 R语言dim函数返回NULL 问题: 解决: dim函数可以返回dataframe.maitrix的shape; 一个常见的错误是将dim应用于一维向量或数组. 问 ...

  2. WORD Application.Documents.Open函数返回null的一种解决方法

    WORD Application.Documents.Open函数返回null的一种解决方法 参考文章: (1)WORD Application.Documents.Open函数返回null的一种解决 ...

  3. loadBalancerClient choose 函数返回null 解决

    今天在搭建spring cloud学习环境的时候,发现在进行服务消费者调用的时候loadBalancerClient的choose函数返回null 抛出空指针异常,并且找不到原因,起初排查也觉得是co ...

  4. oracle sum函数返回空,关于SQL语句中SUM函数返回NULL的解决办法

    SUM 是SQL语句中的标准求和函数,如果没有符合条件的记录,那么SUM函数会返回NULL. 但多数情况下,我们希望如果没有符合条件记录的情况下,我们希望它返回0,而不是NULL,那么我们可以使用例如 ...

  5. ExternalInterface的call函数返回null的原因分析(AS2)

    还是先研究一下AS2中的一个常见问题,在IE下和flash交互不正常的情况~!这些情况包括题目中的ExternalInterface.call函数调用JS函数不能得到返回值.ExternalInter ...

  6. dlsym函数返回null的解决办法

    dlsym是什么? dlsym是一个计算机函数,功能是根据动态链接库操作句柄与符号,返回符号对应的地址,不但可以获取函数地址,也可以获取变量地址 见:采用dlopen.dlsym.dlclose加载动 ...

  7. ExternalInterface的call函数返回null的原因分析(AS2) 1

    还是先研究一下AS2中的一个常见问题,在IE下和flash交互不正常的情况~!这些情况包括题目中的ExternalInterface.call函数调用JS函数不能得到返回值.ExternalInter ...

  8. MFC之GetDlgItem函数返回NULL的问题解决

    问题:窗口添加了按钮控件,资源ID为IDC_BTN_COMMAND_CLEAR,但是当使用GetDlgItem(IDC_BTN_COMMAND_CLEAR)获取控件指针时,放回NULL 解决方案: 1 ...

  9. java中showdialog返回值_Flutter:showDialog:build函数返回null

    我有一个StatefulWidget . 然后,当我单击一个按钮时,它会显示一个警告对话框 . 当我实施时: onTap: () { showDialog( context: context, bui ...

最新文章

  1. NC:港大张彤团队-基于组学的耐药基因风险评估框架
  2. 判断手机所属三大运营商 移动、联通、电信
  3. 【阿里云课程】如何基于GAN完成人脸图像超分辨任务
  4. 20210808 滑模中常见趋近率
  5. MySQL show processlist
  6. python扩展库简介_NumPy简介-Python扩展程序库 -- NumPy-编程文章分享
  7. SAP MM 用客户寄售库存管理方式来管理周转箱等可回收物料
  8. 斗鱼html5插件 edge,斗鱼HTML5播放器插件
  9. Prolog 语言入门教程
  10. 求2+22+222+2222+22222
  11. 寻优算法(1)-------遗传算法(GA)附Matlab代码(copy可用)
  12. 超详细超快的免费图床设置教程
  13. VC:CString.Format()函数详解
  14. 人工智能-机器学习-深度学习的区别与联系
  15. 牛客 20859 兔子的名字
  16. Windows 组件服务我的电脑出现红色向下箭头
  17. 网络:IP地址和子网掩码
  18. 挑战杯课外学术参赛作品—AI合约问卷调查系统
  19. matlab怎么测脉络膜血管密度,【CCOS2016】OCT血管成像的发展之路
  20. ad用户文件服务器登录过程初始化失败,域用户无法登录域故障处理(AD问题).docx...

热门文章

  1. vue中的mixins的介绍和使用
  2. php中法兰克福的时区,法兰克福三大购物中心 | Global Blue
  3. 送给自己的十二句箴言
  4. conda更新安装github下载的本地压缩包(zip)
  5. 【哈佛积极心理学笔记】第10讲 如何改变
  6. 声网推出首个完整实时合唱解决方案 即将上线“咪哒”全国线下K歌房
  7. 2023年计算机、视觉与智能技术国际会议(ICCVIT 2023)
  8. 修改12306自动刷新时间
  9. 量化学习——动量策略
  10. xshell中查找命令_Xshell中操作Linux的常用命令