前几天有个MFC对话框程序,有个隐藏任务栏图标的功能需求,就在网上搜了搜,发现基本上都是这一句: ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW);也就是修改窗口的扩展风格,去掉APPWINDOW属性,添加TOOLWINDOW属性,这样做的效果就是任务栏的图标按钮不见了,同时窗口的标题栏也发生了变化,原来的最小化最大化按钮都不见了 (对于这一点很不爽,可能设计者有自己的原因),而且基本上都是将这句放在对话框的OnInitDialog中使用,无法在其他地方来随时改变(其实是可以的,只不过需要使用前后分别先隐藏和显示窗口而已也就是先ShowWindow(SW_HIDE),然后修改样式,再接着ShowWindow(SW_SHOW),如果单纯修改样式是没有效果的,这个细节折腾了我很久)。
再说说上边不爽的地方,鉴于TOOLWINDOW样式会修改原窗口标题样式,那有没有其他方法不改变原窗口标题栏样式呢,当然有了。
以MFC对话框程序为例,原理就是创建一个隐藏的窗口,然后设为主对话框的父窗口就行了,以下是代码示例:

BOOL CTestDlgApp::InitInstance()
{......// 创建一个隐藏的窗口,以便控制主对话框在任务栏的隐藏和显示CWnd m_wndOwner;if (m_wndOwner.m_hWnd == NULL){LPCTSTR pstrOwnerClass = AfxRegisterWndClass(0);if (!m_wndOwner.CreateEx(0, pstrOwnerClass, _T(""),  //创建一个隐藏的弹出样式的窗口WS_POPUP, CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL, 0))return FALSE;}////////////////////////////////////////////////......CTestDlg dlg(&m_wndOwner);     // 以隐藏的窗口作为父窗口m_pMainWnd = &dlg;......// 销毁隐藏的父窗口if (m_wndOwner.m_hWnd != NULL)m_wndOwner.DestroyWindow();return FALSE;
}

通过上边的操作,在对话框中需要显示和隐藏的地方,使用如下代码即可方便自如的随时控制任务栏图标的显示和隐藏。
显示:

        ShowWindow(SW_HIDE);ModifyStyleEx(0, WS_EX_APPWINDOW);  // 恢复任务栏显示.ShowWindow(SW_SHOW);

隐藏:

        ShowWindow(SW_HIDE);ModifyStyleEx(WS_EX_APPWINDOW, 0);//从任务栏中去掉.ShowWindow(SW_SHOW);

这样处理后的对话框的标题栏没有任何改变,完美实现随时隐藏和显示任务栏图标。
值得一提的是这样隐藏任务栏图标后,在使用ALT+TAB切换程序时,看不到应用程序。这个问题没有继续研究,知道的朋友可以留言交流。

关于MFC程序中隐藏任务栏图标的问题相关推荐

  1. pyqt5 隐藏任务栏图标

    pyqt5中隐藏任务栏图标很简单,只需要一行代码即可. MainWindow.setWindowFlags(QtCore.Qt.SplashScreen | QtCore.Qt.FramelessWi ...

  2. MFC程序隐藏任务栏图标的三种方法

    在VC编程中,有时候我们需要将我们的程序在任务栏上的显示隐藏起来,我试过几种方法,下面我介绍一下我知道的三种方法. 第一种方法是设置窗口WS_EX_TOOLWINDOW扩展样式,通过在OnInitDi ...

  3. 服务器显示隐藏任务,在Windows 10中隐藏任务栏的简单方法

    作为Windows用户,您可能已经注意到任务栏总是显示在屏幕上.对于某些用户来说,这可能是最令人欣慰的事情.但是,对于其余用户而言,全屏显示的任务栏很烦人.在这些人中,确实有一些人不知道可以随时隐藏它 ...

  4. 如何隐藏任务栏图标小结(zz)

    如何隐藏任务栏图标小结 如原始任务栏图标如下图: A:彻底隐藏所有上图中已运行程序的小图标? [1]打开运行对话框:     输入gpedit.msc命令,如下: 然后确定: [2]弹出组策略窗口,依 ...

  5. 如何隐藏任务栏图标小结

    如原始任务栏图标如下图: A:彻底隐藏所有上图中已运行程序的小图标? [1]打开运行对话框:     输入gpedit.msc命令,如下:    然后确定: [2]弹出组策略窗口,依次选择" ...

  6. Unity3D之Windows端隐藏任务栏图标并添加至托盘

    目录 1 基本效果 2 代码实现 2.1 思路 2.2 实现 2.2.1 Unity程序监听最小化和关闭事件 2.2.2 方便打包的菜单栏 2.2.3 IL2CPP启动外部程序 2.2.4 winfo ...

  7. 如何使Windows 10中的任务栏图标居中

    作为Windows用户,将任务栏放在屏幕截图的中心可能是访问常用应用程序的便捷方式.在这里,我们将讨论如何在Windows 10中集中任务栏图标. 窗口任务栏中的图标默认位于左侧.如果你想让他们找到中 ...

  8. 隐藏任务栏图标的两种简易方法

    1.运用组策略隐藏任务栏图标 在"开始→运行"中输入"GPEDIT.MSC"打开组策略,然后依次选择"用户配置→管理模板→任务栏和开始菜单→隐藏通知区 ...

  9. mfc 内嵌 本地html,MFC程序中内嵌网页,附示例工程

    最近在课程设计,因为小悠太懒了,是在不想用C++完成一些简单的文件上传下载操作,于是就想着将网页内嵌到程序中,上传下载神马的就直接使用网页Web来完成就好了,本示例中将演示在MFC程序中内嵌一个htm ...

最新文章

  1. apachebench ab.exe压力测试
  2. java培训第一阶段测试总结_java学习的第一阶段总结
  3. CVPR自动驾驶运动预测挑战赛:轻舟智航夺冠方案
  4. pandas滑动窗口滑动整个dataframe
  5. Chuck Norris蠕虫网络袭击Linux路由器
  6. Windows文件服务器搭建
  7. 电流纹波率取r = 0.4的原因 // 《精通开关电源设计》P48:r的最优值
  8. 优思学院|什么是TPM管理?
  9. 2021年美容师(初级)报名考试及美容师(初级)最新解析
  10. Noi 十连测 Zbox loves meizi
  11. 如何做好项目的验收工作?
  12. [c++] 计算太阳高度角
  13. 鱼那么信任水,水却煮了鱼
  14. Linux运维:Shell脚本实现ssh免密登录远程服务器
  15. fama matlab源码_Matlab:计算Fama Macbeth方法的HAC(Newey West)标准误差
  16. leetcode378. 有序矩阵中第K小的元素(Python3)
  17. 编码 data:text/html;c,javascript中Data URI使用详解
  18. 帝国CMS7.5仿《当下软件园》整站源码/帝国CMS软件下载类网站模板
  19. Vue - 简约大气 404 页面
  20. 透视:对企业内容管理的四个疑问

热门文章

  1. C语言(宏,内存,地址,指针,解引用)
  2. 五款开源内容管理平台对比(免费部分):bolo/fastadmin/wordpress/zblog/redmine
  3. 热门的智慧养老产品有哪些?解读新政策后的超全资料整合
  4. 深入计算机组成原理(二十)面向流水线的指令设计(上):一心多用的现代CPU
  5. vultr完美搭建 Nextcloud 私有云网盘教程
  6. Java输出100~999之间的水仙花数
  7. FPGA 学习笔记:Vivado 2020.2 MicroBlaze MIG 测试 DDR3 篇尾
  8. 修改配置文件不用重启tomcat
  9. mysql数据库预处理_一种MySQL数据库中间件预处理方法与流程
  10. QVector元素增删改