隐藏窗口任务栏图标的三种方法

隐藏窗口任务栏图标的三种方法本文介绍三种方法,可以实现隐藏窗口在任务栏中的图标。其中前两种比较坑爹,不建议使用。转载:原文:https://www.xuebuyuan.com/1338887.html方法1:ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW);为窗口设置WS_EX_TOOLWINDOW属性。会有以下效果:1.窗口图标不在任务栏显…

大家好,又见面了,我是你们的朋友全栈君。

本文介绍三种方法,可以实现隐藏窗口在任务栏中的图标。其中前两种比较坑爹,不建议使用。

 

转载:

原文:https://www.xuebuyuan.com/1338887.html

方法1:

ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW);

为窗口设置WS_EX_TOOLWINDOW属性。会有以下效果:

 

1. 窗口图标不在任务栏显示。

2. 窗口不显示在Alt+Tab的切换列表中。

3. 在任务管理器的应用程序Tab中不显示。

但这个属性有一个坑爹的副作用一定要小心,详细请参考:WS_EX_TOOLWINDOW 属性的陷阱

 

方法2:

使用ITaskbarList接口的DeleteTab方法。这个方法在XP下是有问题的,被删除的任务栏图标,在窗口被激活时,会再次出现!!再次坑爹!!

 

BOOL ShowInTaskbar(HWND hWnd, BOOL bShow)
{

    HRESULT hr;
    ITaskbarList* pTaskbarList;
    hr = CoCreateInstance( CLSID_TaskbarList, NULL, CLSCTX_INPROC_SERVER, 
              IID_ITaskbarList, (void**)&pTaskbarList );

    if(SUCCEEDED(hr))
    {

         pTaskbarList->HrInit();
         if(bShow)
               pTaskbarList->AddTab(hWnd);
          else
               pTaskbarList->DeleteTab(hWnd);

         pTaskbarList->Release();
         return TRUE;
    }
 
 return FALSE;
}

 

方法3:

目前我认为比较妥善的一个办法。首先创建一个窗口,并将此窗口隐藏。再以此窗口为父窗口创建你的程序窗口,再利用方法2删除掉任务栏中的图标。

这样处理之后,任务栏中的图标就不会再死而复生了。

通过Spy++去看QQ的主窗口,它也有一个Caption为空的父窗口,想必也是利用的这个方案吧。

 

推荐一本c++书籍,个人认为写的比较好的,对学习帮助很大的

隐藏窗口任务栏图标的三种方法

c++ primer

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/161729.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 学生选课管理系统的数据库设计_选课系统数据库设计

    学生选课管理系统的数据库设计_选课系统数据库设计学生选课管理系统的设计为选课及成绩管理提供了一个良好的工具,此系统基本实现了设计的要求,即登录系统(通过用户名和密码),管理(录入、查询、修改和删除)学生、课程基本资料,管理(录入、查询、修改和删除)学生所选课程成绩,统计每个学生的总分、平均分以及排名,修改用户密码等功能。在此基础上,我还对系统进行了改进,特别是加强了查询的功能,使我们能更直观、有效地查询到我们想要的数据。

    2022年10月15日
  • 什么是第一,第二,第三范式

    什么是第一,第二,第三范式我们在数据库表设计时,经常说,某某表要遵循第三范式。下面通过实例介绍第一,第二,第三范式第一范式所谓第一范式,就是数据表的列不可再分。看下面数据表,对于选课列明显是可以再分的,所以它是违反第一范式的。学号姓名选课10001张三数学,语文,英语10002

  • vue长列表渲染_vue 二维数组渲染

    vue长列表渲染_vue 二维数组渲染循环在模板中可以用v-for指令来循环数组,对象等。循环数组我们可以用v-for指令基于一个数组来渲染一个列表。v-for指令需要使用iteminitems形式的特殊语法,其中it

  • 罗盘时钟代码[通俗易懂]

    罗盘时钟代码[通俗易懂]HTML<%@pagecontentType=”text/html;charset=UTF-8″language=”java”%><!DOCTYPEhtml><htmllang=”en”><head><metacharset=”UTF-8″><metaname=”viewport”content=”width=device-width,initial-scale=1.0″>&lt

  • 过滤数组中的空数组array_filter()

    过滤数组中的空数组array_filter()

  • 赛门铁克卸载工具CleanWipe14亲测有效

    赛门铁克卸载工具CleanWipe14亲测有效卸载烦人的赛门铁克,把我恶心坏了,不过最后卸载了。找了很多方法,都很麻烦,自己试了试也没成功。。。然后找到了一个CleanWipe14的卸载工具网盘,然后成功卸载!!!网盘链接:https://pan.baidu.com/s/13nOA83ngCaxLN4h627-oyQ提取码:dkck原文:https://www.52pojie.cn/thread-1071900-1-1.html…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号