HWND hWnd;  hWnd =::GetDesktopWindow(); 

if ((hWnd = ::FindWindowEx(hWnd, 0, "Progman", "Program Manager")) == 0) 

return FALSE; 

if ((hWnd = ::FindWindowEx(hWnd, 0, "SHELLDLL_DefView", NULL)) == 0) 

return FALSE; 
if ((hWnd = ::FindWindowEx(hWnd, 0, "SysListView32", NULL)) ==0) 
return ; 
if ((hWnd = ::FindWindowEx(hWnd, 0, "Internet Explorer_Server", NULL)) == 0) 

if ((hWnd = ::FindWindowEx(hWnd, 0, "SysListView32", NULL)) == 0) 

  return FALSE; 
m_DesktopWnd.Attach(hWnd);

m_dlg.Create(IDD_CNCALENDAR_DIALOG,&m_DesktopWnd);
-----------------------
1.需要启动活动桌面才可以,但在xp下不行,兼容性不好,且桌面图标不能托动
2.不要活动桌面又把桌面图标遮住了。
有没有完整的方法呀,在98,2000,xp下都行,最好不要启动活动桌面
急呀,先谢谢啦