TC官方合作论坛

 找回密码
 立即注册
查看: 31017|回复: 124

【鬼玺开源】TC5.0 Win32 API - 任务栏图标隐藏 & 显示 - Part 2

  [复制链接]
发表于 2016-3-27 13:50:42 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 sam7894604 于 2016-3-27 13:50 编辑

结构体与 __thiscall 的应用之如何使用 Win32 API 达成任务栏图标隐藏 & 显示之二。


  • 必看说明

    前几天我开源了一个 【鬼玺开源】TC5.0 Win32 API - 任务栏图标隐藏 & 显示 - Part 1

    帖子内我说明了另有第二种方法可以达成相同目标,调用系统的 ITaskbarList 接口方法,也可以完美隐藏 & 显示任务栏图标

    但因为 TC 本身的限制,才会铺陈了一帖 【鬼玺开源】TC5.0 - Com 方法调用约定之 __thiscall 实现

    作为本帖的前导科普,强烈建议使用前先阅读上述帖子




  • ITaskbarList 是什么?

    具体可查询 MSDN 资料(ITaskbarList interface

    简单来说是 Windows 系统提供的任务栏控制接口,通过该接口可以完整操控任务栏上的功能

    本次开源仅写出 ITaskbarList 接口方法,另有 ITaskbarList2、ITaskbarList3、ITaskbarList4 接口,都是基于 ITaskbarList 扩展出去的类

    用于提供高版本 Windows 系统的任务栏复杂操作,有兴趣的朋友可以研究看看!




  • ITaskbarList 优势?

    因为是系统提供的接口,基本上是完美无错

    而且可以轻松控制外部窗口的任务栏图标显示 & 隐藏,是其它方法不容易达成的效果!




  • ITaskbarList 怎么声明?

    因为TC 本身的限制,必须手动将所有方法都先声明完毕,具体可看开源项目的 GX_Com_ITaskBarList.t 文件

    至于成员函数的索引值(index) 获取方法,有些可以透过工具查询,而本次的 ITaskBarList 接口只需要查询 Shobjidl.h 文件即可

    百度或谷歌及可获得如下代码:

    1. #define INTERFACE ITaskbarList
    2. DECLARE_INTERFACE_(ITaskbarList, IUnknown)
    3. {
    4.         STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;    //index = 0
    5.         STDMETHOD_(ULONG,AddRef)(THIS) PURE;    //index = 1
    6.         STDMETHOD_(ULONG,Release)(THIS) PURE;    //index = 2
    7.         STDMETHOD(HrInit)(THIS) PURE;    //index = 3
    8.         STDMETHOD(AddTab)(THIS_ HWND) PURE;    //index = 4
    9.         STDMETHOD(DeleteTab)(THIS_ HWND) PURE;    //index = 5
    10.         STDMETHOD(ActivateTab)(THIS_ HWND) PURE;    //index = 6
    11.         STDMETHOD(SetActiveAlt)(THIS_ HWND) PURE;    //index = 7
    12. };
    13. #undef INTERFACE
    14. typedef ITaskbarList *LPTASKBARLIST;
    复制代码


    那么从 QueryInterface 开始按顺序及是 0 ~ 7,即可轻松写出 TC 可调用的 ITaskBarList 接口




  • 截图

    QQ截图20160327124745.png

    QQ截图20160327124911.png

    QQ截图20160327124925.png



  • 项目下载:

    游客,如果您要查看本帖隐藏内容请回复




如果本帖对您有所帮助,请给与评分鼓励!

评分

参与人数 7威望 +70 金币 +70 收起 理由
MiuAnan + 10 + 10 赞一个!
qq00544dwj + 10 + 10 很给力!
天翔 + 10 + 10 很给力!
ksap787523 + 10 + 10 神马都是浮云
cjxdn + 10 + 10 很给力!
言术 + 10 + 10 赞一个!
18667006365 + 10 + 10 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2016-3-27 14:04:38 | 显示全部楼层
我有一壶酒,足以慰风尘。破石寻常事,农心再封神。
回复 支持 反对

使用道具 举报

发表于 2016-3-27 14:31:32 | 显示全部楼层
了解一下
回复

使用道具 举报

发表于 2016-3-27 16:09:15 | 显示全部楼层
了解一下
回复

使用道具 举报

发表于 2016-3-27 20:04:59 | 显示全部楼层
这个非常好,感谢分享
回复 支持 反对

使用道具 举报

发表于 2016-3-27 23:32:16 | 显示全部楼层
大神又来科普了
回复 支持 反对

使用道具 举报

发表于 2016-3-27 23:55:18 | 显示全部楼层
回复

使用道具 举报

发表于 2016-3-28 11:36:16 | 显示全部楼层
11111111111
回复 支持 反对

使用道具 举报

发表于 2016-3-29 22:22:16 | 显示全部楼层
支持一下
回复

使用道具 举报

发表于 2016-3-30 17:41:01 | 显示全部楼层
必须支持的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-3-30 02:48 , Processed in 0.056791 second(s), 26 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表