关于图标问题,请高手们指点!

as2001 2004-04-10 11:02:32
我用以下代码删除我自己在系统通知区(就是右下角显示时间的地方,具体叫法我记不清了),为什么还会遗留该图标,但是用鼠标移过去又会自己消失,这是怎么回事?请教一下错在哪里?或者露了什么地方?谢谢!
BOOL res;
NOTIFYICONDATA tnid;
tnid.cbSize = sizeof(NOTIFYICONDATA);
tnid.hWnd = m_hWnd;
tnid.uID = MMICON;
res = ::Shell_NotifyIcon(NIM_DELETE ,&tnid);
...全文
60 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuanzg 2004-04-12
  • 打赏
  • 举报
回复
不是 把鼠标放在那里,系统就要相应消息,显示一些应用程序的tip,
如果哪个图表没有进程和它关联,系统就把她删了:)
as2001 2004-04-12
  • 打赏
  • 举报
回复
或许可以刷新系统通知区吗?继续学习!
as2001 2004-04-12
  • 打赏
  • 举报
回复
楼上所说的,可以用程序来实现吗?或者可以更新系统通知区吗?
as2001 2004-04-11
  • 打赏
  • 举报
回复
为什么要把鼠标移到那里(什么都没有做),那个图标就会消失?问题还没有解决,是不是要刷新那里的?继续学习!
vcforever 2004-04-11
  • 打赏
  • 举报
回复
你没有删除留在系统托盘中的图标!

在你退出程序的时候应该调用如下代码
NOTIFYICONDATA tnid;
tnid.cbSize = sizeof(NOTIFYICONDATA);
tnid.hWnd = this->m_hWnd;
tnid.uID = IDR_MAINFRAME;
Shell_NotifyIcon(NIM_DELETE,&tnid);
xuanzg 2004-04-10
  • 打赏
  • 举报
回复
观察你那个好像没有设置标志:
nid.uFlags=NIF_MESSAGE|NIF_ICON|NIF_TIP;
xuanzg 2004-04-10
  • 打赏
  • 举报
回复
这么做
NOTIFYICONDATA nid;
nid.cbSize=sizeof(nid);
nid.uFlags=NIF_MESSAGE|NIF_ICON|NIF_TIP;
nid.hIcon=AfxGetApp()->LoadIcon(IDR_MAINFRAME);
strcpy(nid.szTip,"数据同步");
nid.uCallbackMessage=WM_USER+10;
nid.uID=10;
nid.hWnd=m_hWnd;
Shell_NotifyIcon(NIM_DELETE,&nid);

2,641

社区成员

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

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