象winamp一样?
我试过
ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW);
但是程序中调用后,任务栏上图标还是没有变化?
创建时确实可以通过修改tool window属性还设置,但是如何在运行时动态改变呢?

解决方案 »

  1.   

    终于在MSDN的“Handling the Taskbar”这一节找到答案,原来SetWindowLong前要hidewindow,设好后再showwindow才行。
    完整的程序如下:
    if(state&MF_CHECKED)
    {
    ShowWindow(SW_HIDE);
    SetWindowLong(GetSafeHwnd(),GWL_EXSTYLE,WS_EX_TOOLWINDOW);
    ShowWindow(SW_SHOW);
    pMenu->CheckMenuItem(ID_MENUITEM_TASKBARDISP,MF_UNCHECKED | MF_BYCOMMAND);
    }
    else
    {
    ShowWindow(SW_HIDE);
    LONG style=GetWindowLong(GetSafeHwnd(),GWL_EXSTYLE);
    style^=WS_EX_TOOLWINDOW;
    SetWindowLong(GetSafeHwnd(),GWL_EXSTYLE,style);
    ShowWindow(SW_SHOW);
    pMenu->CheckMenuItem(ID_MENUITEM_TASKBARDISP,MF_CHECKED | MF_BYCOMMAND);
    }
    结贴了