下你所需,载你所想!
汇集开发技术源码资料

隐藏/显示/删除程序托盘图标源码

:7.179KB :1 :2019-12-22 10:34:24

部分简介

.子程序 显示图标, , , 显示托盘图标
.参数 参数_图标索引, 整数型, , 索引从0开始。0 为图标一,1 为图标二,如此类推。
.局部变量 局部_状态, 整数型

局部_状态 = SendMessageA (集_托盘句柄, #TB_GETSTATE, 取图标ID (参数_图标索引), 0)
.如果真 (位与 (局部_状态, #隐藏) ≠ 0)
局部_状态 = 位异或 (局部_状态, #隐藏)
.如果真结束
SendMessageA (集_托盘句柄, #TB_SETSTATE, 取图标ID (参数_图标索引), 局部_状态)

.子程序 取图标ID, 整数型, , 根据图标索引取图标的idCommand
.参数 参数_图标索引, 整数型, , 索引从0开始。0 为图标一,1 为图标二,如此类推。
.局部变量 局部_大小, 整数型
.局部变量 局部_数据, 字节集

集_进程句柄 = 打开进程 (集_托盘句柄)
集_外部指针 = 分配外部指针 (集_进程句柄, 18)
SendMessageA (集_托盘句柄, #TB_GETBUTTON, 参数_图标索引, 集_外部指针)
局部_数据 = 读外部指针数据 (集_进程句柄, 集_外部指针, 18)
RtlMoveMemory (集_单一图标, 局部_数据, 18)
销毁外部指针 (集_进程句柄, 集_外部指针)
结束操作 (集_进程句柄)
返回 (集_单一图标.idCommand)


.子程序 取图标标题, 文本型, , 取回指定图标的标题文本。
.参数 参数_图标索引, 整数型, , 索引从0开始。0 为图标一,1 为图标二,如此类推。
.局部变量 局部_长度, 整数型
.局部变量 局部_标题, 文本型
.局部变量 局部_数据, 字节集
.局部变量 局部_ID, 整数型

局部_ID = 取图标ID (参数_图标索引)
局部_长度 = SendMessageA (集_托盘句柄, #TB_GETBUTTONTEXTA, 局部_ID, 0)
集_进程句柄 = 打开进程 (集_托盘句柄)
集_外部指针 = 分配外部指针 (集_进程句柄, 局部_长度)
.如果 (SendMessageA (集_托盘句柄, #TB_GETBUTTONTEXTA, 局部_ID, 集_外部指针) ≠ -1)
局部_数据 = 读外部指针数据 (集_进程句柄, 集_外部指针, 局部_长度)
销毁外部指针 (集_进程句柄, 集_外部指针)
结束操作 (集_进程句柄)
返回 (到文本 (局部_数据))
.否则
销毁外部指针 (集_进程句柄, 集_外部指针)
结束操作 (集_进程句柄)
返回 (“”)
.如果结束


.子程序 取图标句柄, 整数型, , 返回指定图标的句柄。
.参数 参数_图标索引, 整数型, , 索引从0开始。0 为图标一,1 为图标二,如此类推。
.局部变量 局部_地址, 整数型
.局部变量 局部_数据, 字节集
.局部变量 局部_TRAYDATA, TRAYDATA

集_进程句柄 = 打开进程 (集_托盘句柄)
集_外部指针 = 分配外部指针 (集_进程句柄, 18)
SendMessageA (集_托盘句柄, #TB_GETBUTTON, 参数_图标索引, 集_外部指针)
局部_数据 = 读外部指针数据 (集_进程句柄, 集_外部指针, 18)
RtlMoveMemory (集_单一图标, 局部_数据, 18)
局部_数据 = 读外部指针数据 (集_进程句柄, 集_单一图标.dwData, 24)
RtlMoveMemory2 (局部_TRAYDATA, 局部_数据, 24)
销毁外部指针 (集_进程句柄, 集_外部指针)
结束操作 (集_进程句柄)
返回 (局部_TRAYDATA.hIcon)

隐藏/显示/删除程序托盘图标源码

热门推荐

相关文章