我觉得可以这样!
RECT rcBtn;
HWND hWndBtn; //找到“开始”按钮
HWND hWndTaskBar = FindWindow("Shell_TrayWnd",NULL);
HWND hBtnStart = FindWindowEx(hWndTaskBar,NULL,"Button",NULL); if(!hBtnStart)
return FALSE;

GetWindowRect(hBtnStart,&rcBtn);
ShowWindow(hBtnStart,SW_HIDE);
POINT pt,pt1;
pt.x = rcBtn.left;
pt.y = rcBtn.top;
pt1.x= rcBtn.right;
pt1.y= rcBtn.bottom;
//转化坐标
ScreenToClient(hBtnStart,&pt);
ScreenToClient(hBtnStart,&pt1); CREATESTRUCT cs;
cs.lpszClass  = "Button";
cs.lpszName      = "开始";
cs.style  = WS_CHILD|WS_VISIBLE|WS_BORDER;//|BS_BITMAP;
cs.hMenu  = NULL;
cs.hwndParent  = hWndTaskBar;
cs.lpCreateParams= NULL;
cs.x  = pt.x;
cs.y  = pt.y;
cs.cx  = pt1.x-pt.x;
cs.cy  = pt1.y-pt.y;
cs.hInstance  = NULL;
//创建一个按钮,代替Win的开始按钮!
hWndBtn = CreateWindow(cs.lpszClass,
   cs.lpszName,
   cs.style,
   cs.x,
   cs.y,
   cs.cx,
   cs.cy,
   cs.hwndParent,
   cs.hMenu,
   cs.hInstance,
   cs.lpCreateParams);
if(!hWndBtn)
return FALSE;
UpdateWindow(hWndBtn);
ShowWindow(hWndBtn,SW_SHOW);
//可以使用SetWindowLong来处理你的按钮窗口过程函数
DestroyWindow(hWndBtn);
         //还原 开始 按钮
ShowWindow(hBtnStart,SW_SHOW);