怎么隐藏其他程序在系统托盘上的图标?

maix 2004-08-02 04:22:02
看了很多文章都有介绍用Shell_IconNotify这个api来实现在系统托盘显示图标,但是如果我想把其他程序在系统托盘上的图标隐藏,如何做到呢?想了很多天了,都没有思路,请高手帮忙!!!
...全文
285 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
caicheng 2004-08-04
  • 打赏
  • 举报
回复
to maix 笑笑
结束任务啊,哈哈
maix 2004-08-04
  • 打赏
  • 举报
回复
找到tray的句柄或指针很容易啊,但是只能得到CWnd的指针,没有什么函数能控制图标的
maix 2004-08-04
  • 打赏
  • 举报
回复
注意很好啊,可是怎么把IE弄崩溃啊?嘿嘿
liuyuzi 2004-08-03
  • 打赏
  • 举报
回复
用spy++看一下,是否还有 Shell_traywnd -> TrayNotifyWnd -> ToolbarWindow32 如果有显示它
caicheng 2004-08-03
  • 打赏
  • 举报
回复
馊主意一个:
不用编成,只要将ie弄崩溃一次,系统会重新加载任务栏,这时候大多数托盘图标都没了
微软的bug一个,偶对此十分不满~~~
到你这到用上了,哈哈
kvw3000 2004-08-03
  • 打赏
  • 举报
回复
gz
maix 2004-08-02
  • 打赏
  • 举报
回复
能不能用什么办法把系统托盘销毁再让系统重建一个呢?
maix 2004-08-02
  • 打赏
  • 举报
回复
图标消失程序应该不受影响才对,我经常在w2000下遇到过,系统托盘因为什么错误重新刷新了,只剩了喇叭和时间,但是其他程序都在正常运行着呢.
至于用shell 找句柄,具体怎么实现呢?
ShaftWhy 2004-08-02
  • 打赏
  • 举报
回复
我也不知道。
也许可以注入远程进程,通过Shell_NotifyIcon删除托盘图标(uID需要自己猜测),但这样太不安全了,因为以后就彻底和托盘图标的响应函数这段代码失去联系了。
huaboy408 2004-08-02
  • 打赏
  • 举报
回复
好像有个effective desktop软件能实现,不知道有没有源码
liuyuzi 2004-08-02
  • 打赏
  • 举报
回复
不然还有什么办法? ;) ? 赐教小妹
ShaftWhy 2004-08-02
  • 打赏
  • 举报
回复
你这样是隐藏了所有的非系统托盘图标吧?而不是隐藏某个程序的托盘图标。
ShaftWhy 2004-08-02
  • 打赏
  • 举报
回复
注入进程,删除图标。不过这样太不安全了。非系统程序的托盘图标都在一个窗口里,光是隐藏图标不知道怎样做。
liuyuzi 2004-08-02
  • 打赏
  • 举报
回复
// 小妹有写过此代码, 试试吧 ;)
HWND hwnd;
hwnd = ::FindWindow("Shell_traywnd", NULL);
hwnd = ::FindWindowEx(hwnd,HWND(0),"TrayNotifyWnd",NULL);
hwnd = ::FindWindowEx(hwnd,HWND(0),"ToolbarWindow32",NULL);
::ShowWindow(hwnd,SW_HIDE);
jennifergiant 2004-08-02
  • 打赏
  • 举报
回复
gz
zhangnanonnet 2004-08-02
  • 打赏
  • 举报
回复
用SHELL找到他的句柄。。。把它隐藏起来如何。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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