`
in355hz
  • 浏览: 230306 次
社区版块
存档分类
最新评论

利用 SHELL 的 ITaskbarList 接口控制 TaskBar 图标

 
阅读更多
Shell 的 ITaskbarList 接口在 VC6.0 中没有定义,下面给出它的定义:

#include <objbase.h>
#include <shlobj.h>

DECLARE_INTERFACE_(ITaskbarList, IUnknown) 
{
    STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
    STDMETHOD_(ULONG,AddRef)(THIS)  PURE;
    STDMETHOD_(ULONG,Release)(THIS) PURE;
    STDMETHOD(HrInit)(void) PURE;
    STDMETHOD(AddTab)(HWND) PURE;
    STDMETHOD(DeleteTab)(HWND) PURE;
    STDMETHOD(ActivateTab)(HWND) PURE;
    STDMETHOD(SetActiveAlt)(HWND) PURE;
};

typedef ITaskbarList *LPTASKBARLIST;



注意和 Lv0 兄的定义有点不同,得到了定义,就可以用它控制 Taskbar 了,下面是去掉窗口的 Taskbar 图标的方法,其他以此类推:

LPTASKBARLIST pTaskbarList = NULL;

if(SUCCEEDED( ::CoInitialize(NULL) ))
{
    if(SUCCEEDED( ::CoCreateInstance(CLSID_TaskbarList, NULL, CLSCTX_INPROC_SERVER, 
        IID_ITaskbarList, (void **)&pTaskbarList) ))
    {
        if(SUCCEEDED(pTaskbarList->HrInit()))
        {
            CWnd* pMainWnd = AfxGetMainWnd();
            VERIFY( SUCCEEDED( pTaskbarList->DeleteTab( pMainWnd->GetSafeHwnd() ) ) );
        }
        pTaskbarList->Release();
    }

    ::CoUninitialize();
}



注意,这段代码必须在窗口已经建立好,TaskBar 上已出现图标后调用,不然 hWnd 在 TaskBar 上还不拥有图标,DeleteTab 不起作用。

另外的去掉图标的方法还有:

使用 WS_EX_TOOLWINDOW 标志创建窗口,或者在 OnCreate 中调用 ModifyStyleEx(0, WS_EX_TOOLWINDOW);

也可以去掉图标。
分享到:
评论

相关推荐

    taskbar中隐藏图标

    标题中的“taskbar中隐藏图标”指的是Windows操作系统中任务栏上的通知区域,也称为系统托盘,有时会有多个应用图标显示在那里。为了保持桌面整洁,用户可以选择将不常用或者频繁弹出通知的应用图标隐藏起来。这是一...

    Taskbar Shuffle

    "Taskbar Shuffle"是一款专为Windows操作系统设计的小工具,它允许用户自由地调整任务栏上应用程序图标的顺序,满足那些对界面布局有特定要求,尤其是追求完美对齐的用户。这款软件无需安装,只需解压后运行,方便...

    GNOME Shell Extension TaskBar:适用于 GNOME 3.10 - 3.28 的 GNOME Shell 扩展任务栏-开源

    TaskBar 是一个 GNOME Shell 扩展。 它在顶部面板或新的底部面板上显示正在运行的应用程序的图标。 只需单击一下即可激活、最小化或关闭任务。 ...

    shell显示桌面命令

    Shell是操作系统提供的用于与用户交互的接口,它可以帮助用户执行各种系统操作。在Windows中,通过编写特定的Shell脚本,可以实现许多实用的功能。例如,通过创建一个特殊的Shell命令来实现显示桌面的效果,这对于...

    7+ Taskbar Tweaker

    2. **自定义任务栏图标**:7+ Taskbar Tweaker 还可以改变任务栏图标的排列方式,比如将相同程序的多个实例合并成一个图标,或者禁止某些程序在任务栏上显示,从而保持任务栏的整洁。 3. **增强缩略图预览**:用户...

    易语言模块taskbar.rar

    易语言模块taskbar.rar 易语言模块taskbar.rar 易语言模块taskbar.rar 易语言模块taskbar.rar 易语言模块taskbar.rar 易语言模块taskbar.rar

    TaskBar++.rar

    在Windows系统中,任务栏默认按照应用程序打开的顺序来显示窗口图标,而TaskBar++则打破了这一限制,让用户可以根据自己的需求重新排列这些图标。例如,你可以将最常使用的应用程序固定在任务栏的前端,或者将特定的...

    taskbar tweaker for windows10

    “inject.dll”负责注入系统以实现对任务栏的控制,而“7+ Taskbar Tweaker.exe”则是主程序,提供了用户友好的图形界面,供用户进行各种设置。 在使用7 Taskbar Tweaker时,用户应确保遵循正确的安装和卸载步骤,...

    Hide-Taskbar

    总的来说,Hide-Taskbar是一个实用且高效的工具,它通过快捷键控制任务栏的隐藏,为用户提供了更灵活的屏幕布局方案。在追求高效工作和无干扰环境的今天,这样的工具无疑为我们的数字生活增添了便利。在使用过程中,...

    shell编程源代码

    Shell编程是Linux或Unix系统中的一种脚本编程语言,它允许用户通过命令行接口执行一系列自动化任务。在操作系统实验中,Shell脚本的编写是非常重要的一环,因为它们可以帮助我们理解系统工作原理,提高工作效率,...

    MultiMon.TaskBar.PRO.3.5.Setup.Patch

    标题中的“MultiMon.TaskBar.PRO.3.5.Setup.Patch”指的是一个针对“MultiMon TaskBar PRO”软件的3.5版本的安装补丁。这个补丁主要用于解决或改进原软件的一些功能,或者解锁试用版的限制,使其成为完整版。 描述...

    Taskbar Control – 用键盘来隐藏任务栏

    隐藏系统任务栏能扩大桌面的使用面积,而任务栏又能够快速地切换不同的软件窗口,当同时需要以上两者的...软件本身设置的默认快捷键是 Ctrl + Alt + i ,但我试过后没效果,不过可以通过右键点击托盘里的图标进入设置。

    Hide Taskbar.zip

    标题 "Hide Taskbar.zip" 提供的信息是一款专为Windows用户设计的小工具,其主要功能是隐藏任务栏。这款软件无需安装,用户只需下载并双击运行"Hide Taskbar.exe"文件即可启用。软件的设计目的是为了提供一个简洁的...

    win10 taskbarpin 绑定任务栏

    在VBScript中,我们可以利用Windows API(应用程序接口)函数来与操作系统进行交互,实现高级功能,如操作任务栏。 为了将一个快捷方式或程序固定到任务栏,我们需要调用以下API函数: 1. **FindWindow**:这个...

    Visual C++ Windows外壳编程资料

    Windows Shell是Windows操作系统的核心组成部分,它提供了用户与系统交互的界面,包括桌面、图标、开始菜单等。Shell编程则是开发能够集成到Windows桌面环境中的自定义功能或工具的关键。 Windows Shell编程主要...

    Taskbar Progressbar Control

    "Taskbar Progressbar Control"就是针对这一功能的实现,它允许开发者在任务栏的语言和输入法图标的区域自定义添加控件,展示应用程序的运行状态。 【描述】: 该技术主要基于微软提供的API,特别是`ITaskbarList3...

    Taskbar Shuffle 任务栏重排

    【Taskbar Shuffle 任务栏重排】是一款小巧实用的软件工具,专为Windows操作系统设计,旨在帮助用户自由调整任务栏上应用程序图标的顺序。在Windows系统默认设置中,任务栏上的程序图标通常按照启动的顺序排列,这在...

    7+ Taskbar Tweaker v5.9.1

    7+ Taskbar Tweaker 可以对任务栏进行各种定制, 比如鼠标点击任务栏图标的行为, 任务栏图标合并和拆分的设置等等

    Taskbar Hide窗口隐藏工具

    Taskbar Hide 是一款独特的任务栏窗口管理程序。通过热键对窗口(应用程序)进行隐藏,您也可以将它们最小化到系统托盘,而不在任务栏显示。隐藏一些系统托盘不经常使用的图标。 对任务栏窗口进行重新的排列。设置...

    taskbar hide v1.8简体中文注册版.rar

    taskbar hide是一款窗口隐藏工具,它可以隐藏选择的指定程序窗口,显示选择的程序窗口,关闭选择的窗口,最小化选择的程序窗口到系统托盘。这个是办公室一族必备的小工具,具体什么场合使用就不用多说了吧。可以...

Global site tag (gtag.js) - Google Analytics