基于对话框的MFC程序启动时完全隐藏的简单方法

本文介绍了如何使基于对话框的MFC程序在启动时完全隐藏,只在系统托盘显示图标。通过使用ModifyStyleEx函数修改窗口扩展属性,移除WS_EX_APPWINDOW并添加WS_EX_TOOLWINDOW,然后在DefWindowProc中处理WM_NCPAINT消息,实现窗口隐藏,确保程序启动无闪烁痕迹。
摘要由CSDN通过智能技术生成

如果想基于对话框的MFC程序在启动时就完全隐藏,只在托盘显示一个图标,有很多方法可实现,但效果都不理想,总是可以看到对话框一闪而过的痕迹。有没有一个方法彻底的将其隐藏呢,答案是肯定的。这儿有一个简单的方法实现,效果非常理想,并且只需两步即可实现。

 

1.首先要用到的是ModifyStyleEx函数,用于修改窗口的扩展属性,该函数的原型是:    
    BOOL ModifyStyleEx(
                                    DWORD dwRemove,//要移出的属性 
                                    DWORD dwAdd,//要添加的属性
                                    UINT nFlags = 0
                                    );
     在对话框的初始函数OnInitDialog中添加代码:
     ModifyStyleEx(WS_EX_APPWINDOW, WS_EX_TOOLWINDOW);
     
      其中: 
            WS_EX_APPWINDOW属性的作用是当一个顶层窗口可见时,强制其出现在任务栏上。将其移出。
    WS_EX_TOOLWINDOW属性的作用是创建一个象浮动工具栏一样的窗口,该窗口不会出现在任务栏上,并且按 "ALT+TAB" 时也不会出现。将其增加。

 

2.在对话框的默认处理函数DefWindowProc中添加代码:
  if(mess

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值