MASM32编程更新SysInfo,运行时程序窗口玩失踪
  BFbkpSjOcvWq 2023年11月02日 66 0

最近在更新用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函数的代码是否正确传递了参数。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

BFbkpSjOcvWq
最新推荐 更多