程序要临时生成一个PDF文件用于打印,这个文件只有打印的权限。因为有打印份数的限制,我不想让用户得到这个文件,有什么隐藏临时文件方法?另外,如何得到系统的临时文件夹?

解决方案 »

  1.   

    CreateFile指定为FILE_ATTRIBUTE_HIDDEN
      

  2.   

    DWORD GetTempPath(
      DWORD nBufferLength,  // size of buffer
      LPTSTR lpBuffer       // path buffer
    );
    可以的系统临时目录
      

  3.   

    UINT GetTempFileName(
      LPCTSTR lpPathName,      // directory name
      LPCTSTR lpPrefixString,  // file name prefix
      UINT uUnique,            // integer
      LPTSTR lpTempFileName    // file name buffer
    );
    创建临时文件
      

  4.   

    参考这里http://dev.csdn.net/Develop/article/21/21216.shtm
      

  5.   

    获取系统临时文件夹
    DWORD GetTempPath(
      DWORD nBufferLength,  // size, in characters, of the buffer
      LPTSTR lpBuffer       // pointer to buffer for temp. path
    );创建临时文件
    UINT GetTempFileName(
      LPCTSTR lpPathName,  // pointer to directory name for temporary 
                           // file
      LPCTSTR lpPrefixString,  // pointer to filename prefix
      UINT uUnique,        // number used to create temporary filename
      LPTSTR lpTempFileName 
                           // pointer to buffer that receives the new 
                           // filename
    );
      

  6.   

    权限需要文件系统的支持.最方便的还是在临时目录里随机建许多文件,
    只使用其中一个.打印结束后立即清空临时文件夹或删除自己的文件得到系统临时目录:TCHAR szPath[MAX_PATH];
    GetTempPath(MAX_PATH, szPath)
    如果删除自己的临时文件就不用说了吧,怎么建怎么删,
    如果清空临时文件夹可以这样:TCHAR szPath[MAX_PATH];
    if (GetTempPath(MAX_PATH, szPath))//得到系统临时目录
    {
        EmptyDirectory(szPath, TRUE);
    }
      

  7.   

    huaboy408(竹一木):请问哪里能下载到Windows DDK? MS网站上没有下载啊!