• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 795
  • Last Modified:

modifying WS_EX_TOOLWINDOW and taskbar

I need to have a window that can toggle between not showing
a button on the taskbar, and showing a button on the taskbar. So I change the window extended style with ModifyStyleEx and WS_EX_TOOLWINDOW. But the taskbar doesn't seem to update after I remove the WS_EX_TOOLWINDOW style. The button still exists (alltough no icon is showing) and when the program exits. It leavs a ghost button that dissapears when I press it. I'd like some tips on how to force the taskbar to comply with my window style

// everlast
1 Solution
Did you use a wizard to get it?  
there is a possible solution, you only removed the icon.  The removing is just to update the toolbar, override the function call it yourself to repaint.  (over paint) and do it again.
i can't help more than that for now. :(

this is a bug of windows95,
sometime when the screen saver quit you will encounter the same thing.

there are two tips:
1 a window hides , the button on taskbar will dissapear at once.
2 add the icon to system tray , and not show the button on the taskbar at the application starts.
How do you make it so it DOESN'T show in the task bar?

I don't know how to ModifyStyleEx and WS_EX_TOOLWINDOW.

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

everlastAuthor Commented:
wyy_cq, there has got to be a way to remove the taskbar button on the fly programmaticaly. The main problem isn't the ghost button when the program exits, but that the taskbar doesn't remove the button when I set WS_EX_TOOLWINDOW dynamicaly. When I press Alt+Tab, the program icon doesn't show(what's what I want).
So apprently, it's the taskbar that doesn't update. Maybe I can send some message to the taskbar window to force it to update?
everlastAuthor Commented:
The_brain, I'm not sure I understand your comment, what function call do you mean? I have though about drawing the caption myself and intercept the WM_NCHITTEST message to emulate. That might be the only solution.
everlastAuthor Commented:
Adjusted points to 200
1. Use FindWindow( "Shell_TrayWnd", .... to find the window ( TaskBar )  where buttons in;
2. Find your window tabctrl ID in TaskBar;
3. change   window extended style with ModifyStyleEx and WS_EX_TOOLWINDOW;
4. Use TabCtrl_DeleteItem to delete your tabctrl in TaskBar

everlastAuthor Commented:
thanx...  I've allready found an answer though, your answer covers my question, but fails to add a button in the taskbar when I remove the WS_EX_TOOLWINDOW style. What I realy needed to do was hide the window with ShowWindow, modify the style, the show it again.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now