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);
}
微軟官網鏈接:http://msdn.microsoft.com/en-us/library/windows/desktop/cc144179(v=vs.85).aspx
總結
以上是生活随笔為你收集整理的Explorer.exe崩溃后自动重启任务栏托盘区图标丢失的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html鼠标经过图片放大
- 下一篇: ueditor的初始化使用