任务栏通知区图标在explorer.exe进程崩溃并自动重启后,如何随之再出现?
我写的一个程序在任务栏通知区运行,但是在explorer.exe进程出错并自动重启后(explorer.exe进程出错后会自动重启其自身),我的任务栏通知区图标就不见了,但是观察其它程序(如Winamp),其通知区图标则会随explorer.exe的启动出现。
所以不知道我的程序有什么问题,请高手指点!
顺便说明一下:我机器上的Winamp没有被设为开机运行程序,是在Windows运行过程中由我手动启动的。
问题点数:20、回复次数:3Top
1 楼flyelf(空谷清音)回复于 2003-12-02 23:00:20 得分 0
程序没有问题,而是少了一个消息Top
2 楼Behard(我爱天安门)回复于 2003-12-03 00:41:35 得分 5
http://asp.6to23.com/nowcan/newweb/list.asp?id=125
如果你的计算机安装了IE4以上版本(这个大家应该都有吧)就可以得到通知了,当任务栏建立的时候,系统会以“TaskbarCreated”注册一个全局消息,并广播这个消息。这样我们只要在应用程序里也以“TaskbarCreated”注册一个消息,当收到这个消息的时候,我们就知道任务栏已经重建,应该画图标了。Top
3 楼flyelf(空谷清音)回复于 2003-12-03 08:58:36 得分 15
const UINT WM_TASKBARCREATED =
::RegisterWindowMessage(_T("TaskbarCreated"));//这个消息是系统开始菜单,任务栏创建时发出的
afx_msg void OnTaskBarCreated();
ON_REGISTERED_MESSAGE(WM_TASKBARCREATED, OnTaskBarCreated)
void Cxxx::OnTaskBarCreated()
{
// 重新显示
}
Top




