下沙论坛

 找回密码
 注册论坛(EC通行证)

用新浪微博连接

一步搞定

QQ登录

QQ登录

下沙大学生网QQ群8(千人群)
群号:6490324 ,验证:下沙大学生网。
用手机发布本地信息严禁群发,各种宣传贴请发表在下沙信息版块有问必答,欢迎提问 提升会员等级,助你宣传
新会员必读 大学生的论坛下沙新生必读下沙币获得方法及使用
查看: 5327|回复: 10
打印 上一主题 下一主题

[VC孤芳自赏]NT下Explorer崩溃后NotifyTray图标的生成

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2004-12-13 21:13:00 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
有些同学在编程中常问我关于程序在Explorer崩溃重建后,该如何把系统托盘上的小图标重建回去。. o  z2 W& b% u# h
* x1 `- o5 x1 C% A" e
其实这个很简单,Explorer重建之后,会产生一个TaskbarCreated事件,我们在程序里向系统注册这个事件,
7 T" u3 j9 X* g2 A0 z- Zconst UINT WM_TASKBARCREATED = ::RegisterWindowMessage(_T("TaskbarCreated"));; Q' T8 i- Y! O. g
然后在程序的WindowProc里处理注册的消息;
) `, ?7 {8 X% B2 |/ ^  NLRESULT XXXXXX::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
- a+ C2 E( ]. V4 Z8 I$ W2 N: v{
7 r$ ]9 W9 `* ~: L% B // TOD Add your specialized code here and/or call the base class% E7 k* k) b# h0 R, ?7 c
if (message == WM_TASKBARCREATED)
; A6 ~5 X) g5 v! s {  @* O* `! k/ s) S* W
  m_nid.uFlags = NIF_MESSAGE|NIF_ICON|NIF_TIP;
- j) m6 Y8 z- |- e* l8 t0 n  Shell_NotifyIcon(NIM_ADD, &m_nid);  s, O1 J1 E* {- G- D+ Q3 J
}
: o* g' U& B' T! m  y6 ~ return CFrameWnd::WindowProc(message, wParam, lParam);
* k0 r2 g+ ^6 r1 a5 y7 j- m2 S}3 q8 Q" M7 X3 T" |# k6 n
在接收到Explorer重建的消息后,我们用NIM_ADD参数重建自已的消息图标。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 顶 踩 转发到微博

该用户从未签到

2
 楼主| 发表于 2005-2-21 22:45:00 | 显示全部楼层
要这东西有什么用?

该用户从未签到

3
 楼主| 发表于 2005-2-23 09:13:00 | 显示全部楼层
那没有用的……只能修复本身的。我可以考虑做一个你要的。

本版积分规则

关闭

下沙大学生网推荐上一条 /1 下一条

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