SHGetDesktopFolder()怎么指向指定盘符(如:E盘)

SHGetDesktopFolder()如何指向指定盘符(如:E盘)
如题,我在做一个资源管理器,现在程序每次运行首先指向的是桌面,我想让它指向E盘根目录,请问大家如何修改??程序如下:
void DirTreeView::OnInitialUpdate()
{
CTreeView::OnInitialUpdate();
CTreeCtrl &Tree=GetTreeCtrl();

LPSHELLFOLDER lpsf=NULL; //IShellFolder接口
    LPITEMIDLIST  lpi=NULL; //ITERMIDLSIT结构体指针    
    HRESULT hr;
    TV_ITEM tvi;

CImageList m_Image;//记录的是与树型控件关联的图像列表
    SHFILEINFO sfi;//存放文件信息的结构
HIMAGELIST sys_small_icon;
sys_small_icon = (HIMAGELIST)SHGetFileInfo(NULL,0,&sfi,sizeof(sfi),
SHGFI_SYSICONINDEX|SHGFI_SMALLICON);
m_Image.Attach(sys_small_icon);
Tree.SetImageList(&m_Image,TVSIL_NORMAL);//将系统图像列表设为树控件的图象列表
m_Image.Detach ();

    // 得到指向“桌面”的指针
    hr=SHGetDesktopFolder(&lpsf);
//SHGetSpecialFolderLocation(NULL,CSIDL_DESKTOP,&lpi);
SHGetSpecialFolderLocation(NULL,CSIDL_DESKTOP,&lpi);

if (SUCCEEDED(hr))
    {
       Tree.DeleteAllItems();

   char szBuff[MAX_PATH];//存放显示名称的缓冲区
   TV_INSERTSTRUCT tvis; //向树型控件中插入节点时使用的结构

   tvi.mask = TVIF_TEXT | TVIF_IMAGE | 
   TVIF_SELECTEDIMAGE | TVIF_CHILDREN ; //设置要插入的树节点信息    
   if(GetName(lpsf,lpi,SHGDN_NORMAL,szBuff)==FALSE)
   return;
   tvi.pszText = szBuff;//设置显示名称
   
   GetNormalAndSelectedIcons(lpi, &tvi);    
   tvis.item = tvi;
   tvis.hParent = TVI_ROOT;
   
   hParent = GetTreeCtrl().InsertItem(&tvis);//插入根节点
       FillTreeView(lpsf, NULL, hParent);
   GetTreeCtrl().Expand (hParent,TVE_EXPAND);//展开“桌面”节点
   lpsf->Release ();
}
}
------解决方案--------------------
SHGetDesktopFolder 这个API就是去获取桌面,它不能指向E盘

------解决方案--------------------
修改注册表
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders]
下面的对应项目试试。
后果自负!SHGetDesktopFolder()怎么指向指定盘符(如:E盘)

------解决方案--------------------
SetCurrentDirectory
The SetCurrentDirectory function changes the current directory for the current process. 

BOOL SetCurrentDirectory(
  LPCTSTR lpPathName   // pointer to name of new current directory
);

------解决方案--------------------
直接用 ILCreateFromPath
------解决方案--------------------
ILCreateFromPath:

MSDN2005:ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.WIN32COM.v10.en/shellcc/platform/shell/reference/functions/ilcreatefrompathw.htm

MSDN2008:ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.chs/shellcc/platform/shell/reference/functions/ilcreatefrompathw.htm