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
|
5月前
|
Linux 编译器 程序员
【Linux 调试秘籍】深入探索 C++:运行时获取堆栈信息和源代码行数的终极指南
【Linux 调试秘籍】深入探索 C++:运行时获取堆栈信息和源代码行数的终极指南
535 0
关于 qml程序在目标机上开发时运行出现不断闪屏现象的 解决方法
关于 qml程序在目标机上开发时运行出现不断闪屏现象的 解决方法
关于 qml程序在目标机上开发时运行出现不断闪屏现象的 解决方法
QT软件开发: QPlainTextEdit当做日志显示窗口
QT软件开发: QPlainTextEdit当做日志显示窗口
712 0
QT软件开发: QPlainTextEdit当做日志显示窗口
|
5月前
|
存储 编解码 Windows
LabVIEW程序代码更新缓慢
LabVIEW程序代码更新缓慢
60 1
利用OllyDbg对程序内容进行修改实验
利用OllyDbg对程序内容进行修改实验
|
网络安全 数据安全/隐私保护 Windows
[笔记] Windows VBS脚本实现自动输入 解放双手 自动测试
[笔记] Windows VBS脚本实现自动输入 解放双手 自动测试
286 0
Windows编程基础,第一个Windows程序,注册窗口,创建窗口(下)
Windows编程基础,第一个Windows程序,注册窗口,创建窗口
|
编译器 API 开发工具
Windows编程基础,第一个Windows程序,注册窗口,创建窗口(上)
Windows编程基础,第一个Windows程序,注册窗口,创建窗口
|
数据可视化 C++ Windows
非可视化编程的windows窗口 C++ 代码设计:附例程并多多知识点
非可视化编程的windows窗口 C++ 代码设计:附例程并多多知识点
229 0