GetLastError() 与查询工具_barryCG的博客-程序员秘密

技术标签: C/c++  null  windows下开发  工具  

             今天帮同学调试一个win32程序。这个程序编译通过也可以执行,但是却出现不了窗口。好久没有没有去看win32的东西。花了好一会的时间,才找出了CreateWindows()的返回值一直是NULL的问题,查了一会资料,刚开始以为是 CreateWindow()函数会调用wndclass.lpfnWndProc对应的那个消息响应函数那部分。需要那个函数返回为TRUE。 但是改了很久却任然没有改观。

       但是后来看到了CreateWindow()函数的第一个参数是窗口类和他自己wndclass.lpszClassName是不一样。导致CeateWindow()一直执行失败,虽然这是一个很小的问题,但是自己却花了真么就得时间,感觉有点发晕!


后来,自己看了GetLastError()和一个相关的Error lookup工具的使用方法,感觉如果知道这个方法的话,找这个问题就会很快。

DWORD GetLastError(void);是这函数的完整原型.


hwnd = CreateWindow("zhouhao2012","zhouhao",WS_OVERLAPPEDWINDOW,0,0,600,400,NULL,NULL,hInstance,NULL); 
DWORD k = GetLastError();


k的返回值是1047;

然后在把这个返回值用Error lookup工具查询的话,就可以很快知道是什么原因了。 

1047的返回时缺失窗口类。这样就有更多错误提示了。而且这些错误提示有不影响程序运行的。这就是说这些错误用单步调试也有可能调试不出来。

第一次吧自己碰到的问题写出来。嘿嘿 。


我把这个工具上传到了:http://download.csdn.net/detail/barrycg/4092224
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/barryCG/article/details/7296398

智能推荐

torch.stack, torch.cat, torch.stack.max/mean/sum维度变换详解_jsk_learner的博客-程序员秘密

torch.stack,torch.cat, torch.stack.max/mean/sumtorch.stack创建两个[x,x,x,x]tensor变量torch.stack([x,x], dim=0)torch.stack([x,x], dim=1)torch.stack([x,x], dim=2)torch.stack([x,x], dim=3)torch.stack([x,x], di...

YOLO算法解读_yolo是什么_Grant_Ward的博客-程序员秘密

本文以从头实现YOLO的角度出发,解释了YOLO目标检测框架。本文不会描述网络的优点/缺点或每个设计选择的原因,而是关注于它是如何工作的。在阅读本文之前,假设读者对神经网络,特别是CNN有一个基本的了解。文中所有的描述都与YOLO的原论文有关: You Only Look Once: Unified, Real-Time Object Detection by Joseph Redmon, Sa...

程序员转实施工程师_实施工程师到底做什么的?我认为比程序员接触面更广_Dandakaranya的博客-程序员秘密

在学校学习软件设计专业的时候,老师就曾说过,IT专业找工作很容易的,别看工作时用的编程语言比较单一,但是学校的知识能让你找到IT行业各种种类的工作,比如程序员,测试,实施,技术支持,产品研发,数据库专员等等.........,以前一直做编程也就是JAVA程序员,接触到的都是测试,产品研发的人,一直认为实施就是给别人安装软件的,直到身体原因康复后不得不转行发现实施需要的综合能力挺强的。实施到底是做什...

iOS Pod 'xxx.h' file not found with <angled> include; use "quotes" instead_use quotes instead_豪冷啊的博客-程序员秘密

办法方案1 : https://blog.csdn.net/sinat_32972877/article/details/78275772更新 pods 之后,发觉一直提示要把#import &lt;AFN&gt; 改成#import“AFN” ,然后折腾了一会,看到可能是路径问题。然后把#import&lt;AFN/AFN.h&gt;,加上/ 。然后再Build Settin...

《运动控制系统》-----王斌锐_电机与运动控制系统pdf-程序员秘密

运动控制系统前言一 绪论1.1 运动的基本概念与分类1.2 运动控制系统的组成二 运动机构分析2.1 运动副前言自动控制领域有过程控制和运动控制两大分支;过程控制针对离散的过程量;运动控制针对的是实时的连续的控制;目前的运动控制主要侧重点在于电机原理以及伺服驱动器控制,而现代完整的运动控制系统不仅仅是这些。运动控制系统的组成运动的起源----驱动器;实现的基础----结构机构;数学基础/理论力学----运动学和动力学建模;控制系统的组成----运动感知,控制算法,控制器硬件一 绪论

各种机器学习的应用场景分别是什么_机器学习的应用范围_csdn_yuan88的博客-程序员秘密

作者:xyzh链接:https://www.zhihu.com/question/26726794/answer/151282052来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。写给懒得看的人:没有最好的分类器,只有最合适的分类器。随机森林平均来说最强,但也只在9.9%的数据集上拿到了第一,优点是鲜有短板。SVM的平均水平紧随其后,在10...

随便推点

PYTORCH安装(conda)_conda安装pytorch_笛儿,,的博客-程序员秘密

PYTORCH安装(conda)1.搜索框收入cmd2.添加清华镜像源(加快速度)conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/conda config --set show_channel_urls yes.

自定义权限 android,android自定义权限_爱reo樱桃的纱雾酱的博客-程序员秘密

今天在研究android自定权限的时候,发现一个错误:11-25 16:16:24.819 1747-1747/com.example.android.renderscriptintrinsic E/AndroidRuntime﹕ FATAL EXCEPTION: mainProcess: com.example.android.renderscriptintrinsic, PID: 174...

java集合之迭代器_sspudding的博客-程序员秘密

迭代器(Iterator)是一种设计模式、提供了一种方法,来对集合、容器进行遍历的方式,不需要关注底层数据结构和数据类型,来达到底层和上层遍历解耦的目的。简单来说呢,迭代器就是遍历集合的一种方式,并且必须依赖于集合而存在!但是他的底层实现还是不容易想通的,所以下面通过源码和我个人的理解来看一下啦~Iterator里面有三个方法:boolean hasNext() :判断集合是否还有元素;...

python里面读取h5文件报错OSError: Can‘t read data (address of object past end of allocation)_"file \"h5py/_selector.pyx\", line 361, in h5py._s_木里先森的博客-程序员秘密

报错如下: File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper File "h5py/h5d.pyx", line 182, in h5py.h5d.DatasetID.read File "h5py/_proxy.pyx", line 158, in h5py._p

mysql中忘记了root用户的密码? -----Jane Eyre_mysql中root密码忘了_CoderLix的博客-程序员秘密

重置MySQL密码步骤详解cmd – &gt; net stop mysql 停止mysql服务 * 需要管理员运行该cmd- 2 . 使用无验证方式启动mysql服务: mysqld --skip-grant-tables打开新的cmd窗口,直接输入mysql命令,敲回车。就可以登录成功use mysql;update user set passwor...

什么是DRM_beautyfuel的博客-程序员秘密

DRM,英文全称Digital Rights Management, 可以翻译为:数字版权管理。我的理解DRM就是对二进制传输文件的一种加密保护,比如视频,音频等;也就是说在从服务器端传递到客户端的时候存在private key 的保护,只有拥有对应的key才能打开节目的权利;具体解释:DRM,英文全称Digital Rights Management, 可以翻译为:数字版权管

推荐文章

热门文章

相关标签