程序隐藏后在系统栏里留个托盘好再次呼出程序,但是现在有了个问题就是如果explorer进程重启后这个图标就消失了,真是很麻烦.而像任务管理器,音量控制器的图标却还好好的在系统栏里呆着,他们这些程序是怎么做的.是不是有什么方法可以查询图标还再不再.而最好就是WINDOWS有没有什么消息可以指示我explorer重启了

解决方案 »

  1.   

    拦截系统的WM_TASKBARCREATED消息
    具体的用法可以在网上查到
    这是IE创建托盘的消息
      

  2.   

    呵呵,前几天刚做过,从网上找的办法。重写窗口的DefWindowProcLRESULT CMainFrame::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam)
    { static UINT const WM_TASKBARCREATED = RegisterWindowMessage(_T("TaskbarCreated"));
    if( WM_TASKBARCREATED == message ) 
    {
    //显示托盘
    return TRUE;
    } return CFrameWnd::DefWindowProc(message, wParam, lParam);
    }
      

  3.   

    http://www.vckbase.com/document/viewdoc/?id=495