我用 TCHAR szPath[MAX_PATH];
if (SHGetSpecialFolderPath(NULL, szPath, CSIDL_INTERNET_CACHE, FALSE))
是可以获得的,但我在ie中更改了临时文件夹的位置,它还是得到
C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files
这个目录.该如何做?是不是要重启计算机阿?

解决方案 »

  1.   


    BOOL SHGetSpecialFolderPath(
        HWND hwndOwner,
        LPTSTR lpszPath,
        int nFolder,
        BOOL fCreate
    );
     nFolder = CSIDL_INTERNET_CACHEMSDN上还有好多
      

  2.   

    我的就是啊,哪位大哥再看看,我把目录改为D:\Temp
    得到的szPath还是C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files?
    why?
      

  3.   

    查找注册表的以下键值:
    Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders里面存放的就是IE的临时目录。
      

  4.   

    我以前写过一个清临时文件夹的程序,下面是其中的一部分,仅供参考。ZeroMemory( szValue, sizeof( szValue ));
    sprintf( szSubKey, "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders" );
    bRet = GetStringValue( HKEY_CURRENT_USER, szSubKey, "Cache", szValue, sizeof( szValue ));
    if( FALSE != bRet )
    {
        bRet = DelTree( szValue, FALSE );
        if ( FALSE != bRet )
        {
            CreateDirectory( szValue, NULL );
        }
    }