请问VB中如何隐藏系统托盘中指定程序的图标呢?

无·法 2008-04-15 08:11:37
请问VB中如何隐藏系统托盘中指定程序的图标呢?
...全文
4809 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzyong00 2008-04-16
  • 打赏
  • 举报
回复
如果是用Shell_NotifyIcon这个函数删除系统托盘区的图标,系统肯定是自动调整了
但是,你所用的方法是非正常方法,可能系统还不知道系统托盘区发生了变化,所以没有自动调整!
我以前写过一个在任务栏上添一个窗口的程序,就是在任务左边(紧临快速启动栏右边)添一个窗口(窗口上有个文本框),就是将任务栏上的ToolbarWindow32向右移,留出来我的窗口的位置,然后SetParent me.hwnd 任务栏句柄,这样任务栏上就出现了一个文本框。当我关闭程序而没有用MoveWindow把任务栏上的ToolbarWindow32移回来时,任务栏并没有自动调整!!!
将任务栏上的ToolbarWindow32向右移的思路:
GetWindowRect---->ScreenToClient---->MoveWindow
不知楼主是如何改的?


----------------
以上是本人对任务栏的操作,虽然不同于系统托盘区,但他们是相同的类:ToolbarWindow32,我想不会差太远吧!
无·法 2008-04-16
  • 打赏
  • 举报
回复
可能是我表达得不清楚。。。道个歉。。
把它说成系统托盘区总可以吧,它的宽度好像是系统自动调整不用手工去动的吧
你说的“修改一下状态栏窗口的大小(长度)”,我试了,没用。。
东方之珠 2008-04-16
  • 打赏
  • 举报
回复
终于看清了,是隐藏360安全卫士的托盘图标!
话又说回来,隐藏了还怎么操作
zzyong00 2008-04-16
  • 打赏
  • 举报
回复
晕!自问还是知道什么是状态栏,什么是快速启动栏
自动伸缩不过是个假象而已,你也是搞编程的,不用编程控制,什么窗口是自动变化的?
无·法 2008-04-16
  • 打赏
  • 举报
回复
拜托,状态栏是自动伸缩的,它不是快速启动栏
舉杯邀明月 2008-04-16
  • 打赏
  • 举报
回复
谢谢楼主............

Up.........
zzyong00 2008-04-16
  • 打赏
  • 举报
回复
1问题,在我这里没出现,不知道
2问题,你需要修改一下状态栏窗口的大小(长度)
无·法 2008-04-16
  • 打赏
  • 举报
回复
功能已经实现,在这里先感谢下百度VB吧的gujin170,但是还是有一些小问题,各路高手看看能不能解决下。

1.会出现相同项目,如下图:


2.隐藏相应的项目后原来的位置会流出一个空白位置(应该不存在此位置的),如下图:


代码下载(我只是把原来的代码稍稍处理下将关键功能做成了模块):
http://www.ruiyuan-power.cn/sfw?f=HideSysBtn.rar
舉杯邀明月 2008-04-16
  • 打赏
  • 举报
回复
不知道,学习一下。

Up.......
YFY 2008-04-15
  • 打赏
  • 举报
回复
这个还真不好做。
用户 昵称 2008-04-15
  • 打赏
  • 举报
回复
那个区域是一个toolbar,想来可以用API来隐藏某个按钮吧。
东方之珠 2008-04-15
  • 打赏
  • 举报
回复
我不太明白你的意思?
是隐藏右键菜单图标?
还是卸载托盘?
还是右键菜单指向的程序标题栏图标?

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧