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

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);
...全文
19 点赞 收藏 7
写回复
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);
回复
发动态
发帖子
硬件/系统
创建于2007-09-28

2590

社区成员

VC/MFC 硬件/系统
申请成为版主
社区公告
暂无公告