MASM32编程更新SysInfo,运行时程序窗口玩失踪

简介: MASM32编程更新SysInfo,运行时程序窗口玩失踪

最近在更新用MASM32编写系统信息采集程序sysInfo,调试时突然发现程序运行时sysInfo窗口不显示了。

以前也遇到过这种情况,当时排查发现是资源ID冲突造成的。

先检查资源ID,发现没有问题。

检查修改过的代码,发现调用CreateWindowsEx函数的代码中,传递给dwExStyle参数的值是WS_OVERLAPPEDWINDOW。

 
c_MainWinStyle   equ WS_OVERLAPPEDWINDOW

INVOKE CreateWindowEx, c_MainWinStyle, ADDR g_szClassName,ADDR g_szAppInfo,\
           WS_OVERLAPPEDWINDOW,CW_USEDEFAULT, CW_USEDEFAULT,500,400,NULL,NULL, hInst,NULL

WS_OVERLAPPEDWINDOW可以传递给 dwStyle参数,但把它传递给wExStyle参数是否引发了这个问题呢?

修改c_MainWinStyle的值为NULL

c_MainWinStyle   equ NULL

编译连接运行,sysInfo窗口终于显示出来了。

这类bug比较承隐蔽,用调试程序也不容易发现,因此记下来,如果大家在使用MASM32编程时也遇到这种程序窗口不显示的故障,不妨检查一下调用CreateWindowsEx函数的代码是否正确传递了参数。

相关文章
|
5月前
|
安全 数据库 数据安全/隐私保护
基于易语言开发的定时关机程序
基于易语言开发的定时关机程序
56 0
关于 qml程序在目标机上开发时运行出现不断闪屏现象的 解决方法
关于 qml程序在目标机上开发时运行出现不断闪屏现象的 解决方法
关于 qml程序在目标机上开发时运行出现不断闪屏现象的 解决方法
MASM32编程访问系统托盘区图标/07-09-29更新
MASM32编程访问系统托盘区图标/07-09-29更新
|
Windows
太阳当空照-Windows服务化方式NSSM指令清单(上)
太阳当空照-Windows服务化方式NSSM指令清单
206 0
|
监控 Windows
太阳当空照-Windows服务化方式NSSM指令清单(下)
太阳当空照-Windows服务化方式NSSM指令清单(下)
274 0
|
数据可视化 C++ Windows
非可视化编程的windows窗口 C++ 代码设计:附例程并多多知识点
非可视化编程的windows窗口 C++ 代码设计:附例程并多多知识点
226 0
解决Revit开发程序运行时,按ESC退出报错问题
解决Revit开发程序运行时,按ESC退出报错问题
|
程序员 C语言
Win知识 - 程序是怎样跑起来的——了解程序运行方式的必要性
Win知识 - 程序是怎样跑起来的——了解程序运行方式的必要性
138 0
Win知识 - 程序是怎样跑起来的——了解程序运行方式的必要性
|
Shell Windows
Windows程序设计打开另一个程序的三种方法
Windows程序设计打开另一个程序的三种方法
544 0
Qt 3D Studio-08-尝试写一个虚拟仪表(崩溃),一看就会,一做就废
今天终于鼓起勇气来再次更新关于Qt 3D Studio的内容,也真正感受到了什么是“一看就会,一做就废”,我以为我以为的终究还不是我以为的。明明是和Demo一样的资源,一样的参数,最后出来的效果确实一个天上一个地下。
148 0
Qt 3D Studio-08-尝试写一个虚拟仪表(崩溃),一看就会,一做就废