Hide Vista Start Orb



    I used to hide the Start Button with the following code:


    ShowWindow(FindWindowEx(FindWindow('Shell_TrayWnd',nil),0,'Button','Start'), SW_HIDE)


    This doesn't work in Vista, is there a different API or do I need to call a different class.





    Wednesday, April 11, 2007 9:21 PM

All replies

  • The start orb is probably it's own window now, causing the problem you described.  Try using a spying program to find out it's classname.  Once you know it then use the code you specified above against it as well. (using the new classname of course) ;-)
    Saturday, April 21, 2007 2:16 AM
  • I used

    lHwnd = FindWindowEx(0&, 0&, "Button", vbNullString)
      EnableWindow lHwnd, False

    or you could use the showwindow call to hide it.

    Wednesday, May 09, 2007 8:06 PM
  • I tried to hide the start orb using the ShowWindow API, but it does not work. Can you show me the exact code you used to hide it please?

    Thanks in advance.
    Tuesday, August 28, 2007 3:02 PM
  • You can hide it using this code:

    ShowWindow(FindWindowEx(NULL, NULL, MAKEINTATOM(0xC017), NULL), SW_HIDE);


    Sunday, March 02, 2008 1:51 PM
  • Show the full code thx


    Tuesday, March 04, 2008 8:03 AM
  • You can find a complete solution including source code for hiding the Vista taskbar and startmenu here:

    Monday, April 28, 2008 11:29 AM
  • I tried the code provided by the URL above, but it hide the taskbar and the start button at the same time. I tried to comment out the code that hide the taskbar and want to hide the start button only, it seems that it does not work.


    Do you have any idea that how to hide the start button only?



    Monday, April 28, 2008 4:13 PM
  • Did you tried this?

    ShowWindow(FindWindowEx(NULL, NULL, MAKEINTATOM(0xC017), NULL), SW_HIDE);


    Monday, April 28, 2008 4:24 PM
  • What is "MAKEINTATOM(0xC017)" please? Can you give me some more specific explaination?


    Thanks a lot.

    Monday, April 28, 2008 4:33 PM
  • 0xC017 is the atom for Vista Start button class. You can read about FindWindowEx and MAKEINTATOM here:

    Monday, April 28, 2008 4:40 PM
  • I took some of the information in this post as well as some other suggestions I found on the internet and documentation from MSDN and put together a nice simple solution.

    You can find it on CodeProject here:

    It basically involves a nonstandard P/Invoke declaration of the FindWindowEx function that has an IntPtr as it's third argument. It looks like this.

    private static extern IntPtr FindWindowEx(IntPtr parentHwnd, IntPtr childAfterHwnd, IntPtr className, string windowText);

    After you've declared it you call it with the hexadecimal value of 0xC017 as the third argument and the string "Start" as the fourth argument. It looks like this.

    FindWindowEx(IntPtr.Zero, IntPtr.Zero, (IntPtr)0xC017, "Start");
    • Edited by Waylon Flinn Wednesday, July 22, 2009 5:38 PM fixing the ____ done by the WYSIWYG
    Wednesday, July 22, 2009 5:34 PM