First you must get the handle of the Windows Taskbar, then you can capture the Start button that is a child of the taskbar window. You can change the style of it or send message you wish! You can use
EnableWindow() function for disabling or enabling the start button, or
GetDC() and other Device Context Functions to draw on the button, plus many more things.
CWnd* m_Window = CWnd::FindWindow("Shell_TrayWnd","") gets the taskbar window handle and
GetTopWindow() returns start button as
CWnd* m_Window = CWnd::FindWindow("Shell_TrayWnd","");