怎么样获得“我的文档”的路径啊?
比如想得到C:\Documents and Settings\Admin\My Documents

解决方案 »

  1.   

    %USERPROFILE%\My Documents先把前者expandEnviromentString下
      

  2.   

    李马大哥的详细资料:使用API函数SHGetSpecialFolderLocation。shlobj.h里有SHGetSpecialFolderLocation的原型声明。这个函数可以帮我们找到Windows的桌面目录、启动目录、我的文档目录等。 
        SHGetSpecialFolder需要三个参数。 第一个参数是HWND,它指定了"所有者窗口":在调用这个函数时可能出现的对话框或消息框。第二个参数是一个整数id,决定哪个目录是待查找目录,它的取值可能是: 
    CSIDL_BITBUCKET 回收站 
    CSIDL_CONTROLS 控制面板 
    CSIDL_DESKTOP Windows 桌面Desktop 
    CSIDL_DESKTOPDIRECTORY Desktop的目录 
    CSIDL_DRIVES 我的电脑 
    CSIDL_FONTS 字体目录 
    CSIDL_NETHOOD 网上邻居 
    CSIDL_NETWORK 网上邻居虚拟目录 
    CSIDL_PERSONAL 我的文档 
    CSIDL_PRINTERS 打印机 
    CSIDL_PROGRAMS 程序组 
    CSIDL_RECENT 最近打开的文档 
    CSIDL_SENDTO “发送到”菜单项 
    CSIDL_STARTMENU 任务条启动菜单项 
    CSIDL_STARTUP 启动目录 
    CSIDL_TEMPLATES 文档模板 
      

  3.   

    TCHAR szDocument[MAX_PATH]={0};
    memset(m_lpszDefaultDir,0,_MAX_PATH); LPITEMIDLIST pidl=NULL;
    SHGetSpecialFolderLocation(NULL, CSIDL_PERSONAL, &pidl);
    if (pidl && SHGetPathFromIDList(pidl, szDocument))
    {
    GetShortPathName(szDocument,m_lpszDefaultDir,_MAX_PATH);
    }