How do I get the handle of the taskbar?

Easy-peasy. Like this:

HWND hSysTray = ::FindWindow ("Shell_TrayWnd", NULL) ;

Additional wrinkle : call FindWindowEx with the above window handle as the parent window to find a class named "Button". That will give you the Start button handle. Don't think you can mess around with the Start menu directly from there though - the Start menu is actually a custom control, not a menu.