VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1089|回复: 6

难题:隐藏托盘所有图标后,托盘长度不更新的解决方法,或其他隐藏方法

[复制链接]

2

主题

15

帖子

10.00

积分

新手上路

Rank: 1

积分
10.00
发表于 2020-1-3 10:40:01 | 显示全部楼层 |阅读模式
用这个方法可以隐藏托盘所有图标,但只是隐藏图标,托盘区会留下一片空白长度,很难看,也有“此地无银三百两”之感:

HWND hTray = FindWindow(TEXT("Shell_TrayWnd"), NULL);
if(hTray == NULL)
        break;
hTray = FindWindowEx(hTray, NULL, TEXT("TrayNotifyWnd"), NULL);
if(hTray == NULL)
        break;
hTray = FindWindowEx(hTray, NULL, TEXT("SysPager"), NULL);
if(hTray == NULL)
        break;
hTray = FindWindowEx(hTray, NULL, TEXT("ToolbarWindow32"), NULL);
if(hTray == NULL)
        break;
iNum = SendMessage(hTray, TB_BUTTONCOUNT, NULL, NULL);  //获取任务栏上图标个数
for (i = 0; i < iNum; i++)
        SendMessage(hTray, TB_HIDEBUTTON, i, TRUE);
hTray = NULL;

我试用刷新托盘,但无效:
// 刷新托盘
SendMessage(hTray, WM_PAINT, NULL, NULL);
RECT rect;
GetWindowRect(hTray, &rect);
InvalidateRect(hTray, NULL, FALSE);

求:隐藏托盘所有图标后,托盘长度不更新的解决方法,或其他隐藏方法?
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-1-3 15:18:01 | 显示全部楼层
试一下,TB_DELETEBUTTON
回复

使用道具 举报

2

主题

15

帖子

10.00

积分

新手上路

Rank: 1

积分
10.00
 楼主| 发表于 2020-1-3 15:57:01 | 显示全部楼层
TB_DELETEBUTTON也不行的。和TB_HIDEBUTTON一个效果。
回复

使用道具 举报

0

主题

9

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-1-4 07:12:02 | 显示全部楼层
mark
回复

使用道具 举报

0

主题

12

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
发表于 2020-1-5 18:03:01 | 显示全部楼层
try SendMessage(HWND_BROADCAST,WM_SETTINGCHANGE, 0, "Environment") etc.
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-8-21 21:15:01 | 显示全部楼层
在XP下面
SendMessage(HWND_BROADCAST,WM_SETTINGCHANGE, 0, "Environment");
没有什么效果!
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-9-6 21:45:01 | 显示全部楼层
求解中, 找不到答案啊
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

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