CreateWindow函数返回NULL
在学习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相关推荐
- R语言dim函数返回NULL
R语言dim函数返回NULL 目录 R语言dim函数返回NULL 问题: 解决: dim函数可以返回dataframe.maitrix的shape; 一个常见的错误是将dim应用于一维向量或数组. 问 ...
- WORD Application.Documents.Open函数返回null的一种解决方法
WORD Application.Documents.Open函数返回null的一种解决方法 参考文章: (1)WORD Application.Documents.Open函数返回null的一种解决 ...
- loadBalancerClient choose 函数返回null 解决
今天在搭建spring cloud学习环境的时候,发现在进行服务消费者调用的时候loadBalancerClient的choose函数返回null 抛出空指针异常,并且找不到原因,起初排查也觉得是co ...
- oracle sum函数返回空,关于SQL语句中SUM函数返回NULL的解决办法
SUM 是SQL语句中的标准求和函数,如果没有符合条件的记录,那么SUM函数会返回NULL. 但多数情况下,我们希望如果没有符合条件记录的情况下,我们希望它返回0,而不是NULL,那么我们可以使用例如 ...
- ExternalInterface的call函数返回null的原因分析(AS2)
还是先研究一下AS2中的一个常见问题,在IE下和flash交互不正常的情况~!这些情况包括题目中的ExternalInterface.call函数调用JS函数不能得到返回值.ExternalInter ...
- dlsym函数返回null的解决办法
dlsym是什么? dlsym是一个计算机函数,功能是根据动态链接库操作句柄与符号,返回符号对应的地址,不但可以获取函数地址,也可以获取变量地址 见:采用dlopen.dlsym.dlclose加载动 ...
- ExternalInterface的call函数返回null的原因分析(AS2) 1
还是先研究一下AS2中的一个常见问题,在IE下和flash交互不正常的情况~!这些情况包括题目中的ExternalInterface.call函数调用JS函数不能得到返回值.ExternalInter ...
- MFC之GetDlgItem函数返回NULL的问题解决
问题:窗口添加了按钮控件,资源ID为IDC_BTN_COMMAND_CLEAR,但是当使用GetDlgItem(IDC_BTN_COMMAND_CLEAR)获取控件指针时,放回NULL 解决方案: 1 ...
- java中showdialog返回值_Flutter:showDialog:build函数返回null
我有一个StatefulWidget . 然后,当我单击一个按钮时,它会显示一个警告对话框 . 当我实施时: onTap: () { showDialog( context: context, bui ...
最新文章
- NC:港大张彤团队-基于组学的耐药基因风险评估框架
- 判断手机所属三大运营商 移动、联通、电信
- 【阿里云课程】如何基于GAN完成人脸图像超分辨任务
- 20210808 滑模中常见趋近率
- MySQL show processlist
- python扩展库简介_NumPy简介-Python扩展程序库 -- NumPy-编程文章分享
- SAP MM 用客户寄售库存管理方式来管理周转箱等可回收物料
- 斗鱼html5插件 edge,斗鱼HTML5播放器插件
- Prolog 语言入门教程
- 求2+22+222+2222+22222
- 寻优算法(1)-------遗传算法(GA)附Matlab代码(copy可用)
- 超详细超快的免费图床设置教程
- VC:CString.Format()函数详解
- 人工智能-机器学习-深度学习的区别与联系
- 牛客 20859 兔子的名字
- Windows 组件服务我的电脑出现红色向下箭头
- 网络:IP地址和子网掩码
- 挑战杯课外学术参赛作品—AI合约问卷调查系统
- matlab怎么测脉络膜血管密度,【CCOS2016】OCT血管成像的发展之路
- ad用户文件服务器登录过程初始化失败,域用户无法登录域故障处理(AD问题).docx...