200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > Explorer.exe崩溃后自动重启任务栏托盘区图标丢失

Explorer.exe崩溃后自动重启任务栏托盘区图标丢失

时间:2021-11-19 14:45:42

相关推荐

Explorer.exe崩溃后自动重启任务栏托盘区图标丢失

相信很多Windows用户都碰到过这种情况:运行某个程序时出现意外错误,导致外壳程序Explorer.exe崩溃而发生重启(即Explorer.exe被关闭后重新运行),任务栏也在消失后重新生成,但应用程序在通知栏添加的图标消失了,虽然这些程序仍在运行,但再也无法通过通知栏图标与用户交互。为避免这种情况出现,Windows提供了相应的机制。

在安装了Internet Explorer 4.0及以上版本的Windows操作系统中,当任务栏建立后,外壳会向所有顶层的应用程序发出通知消息,该消息是外壳以字符串“TaskbarCreated”为参数向系统注册获得的,应用程序窗口接收到该消息后就应该重新添加的通知栏图标。

解决方法:

UINT g_uTaskbarCreated = RegisterWindowMessage(TEXT("TaskbarCreated")); //注册这样的一个消息

下面在消息处理函数中添中一个这样的判断,如果是一个重建任务栏的消息,哪么将我们的应用程序托盘重新添加上去。

if(message == g_uTaskbarCreated)

{

PAPS_GLOBAL This = Global;

Shell_NotifyIcon(NIM_ADD, &This->NotifyIconData);

}

微软官网链接:/en-us/library/windows/desktop/cc144179(v=vs.85).aspx

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。