xiexie

解决方案 »

  1.   

    BOOL CFileEx::DirectoryCopy(CHAR *pszPath)
    /*++Function Description:Arguments:Return Value:--*/
    {
    SHFILEOPSTRUCT FileOp;


    if (!PathIsDirectory(pszPath))
    {
    return FALSE;
    }

    FileOp.fFlags            = FOF_NOCONFIRMATION;
    FileOp.lpszProgressTitle = NULL;
    FileOp.hNameMappings     = NULL;
    FileOp.hwnd              = NULL;
    FileOp.pTo               = NULL;
    FileOp.wFunc             = FO_COPY;
    FileOp.pFrom             = pszPath;

    return SHFileOperation(&FileOp) == 0;
    }// end of DirectoryCopy
      

  2.   

    char buf[256];
    char buf1[256];
    SHFILEOPSTRUCT fo;
    memset(buf, 0, sizeof(buf));
    memset(buf1, 0, sizeof(buf1));
    memset(&fo, 0, sizeof(fo));
    strcpy(buf, "f:\\source");
    strcpy(buf1, "f:\\target");
    fo.wFunc = FO_COPY;
    fo.pFrom = buf;
    fo.pTo = buf1;
    fo.fFlags = FOF_SIMPLEPROGRESS;
    SHFileOperation(&fo);
      

  3.   

    上面的写错了应该是这样
    BOOL CFileEx::DirectoryCopy(CHAR *pszSrcDir, CHAR *pszDesDir)
    /*++Function Description:Arguments:Return Value:--*/
    {
    SHFILEOPSTRUCT FileOp;


    if (!PathIsDirectory(pszPath))
    {
    return FALSE;
    }

    FileOp.fFlags            = FOF_NOCONFIRMATION;
    FileOp.lpszProgressTitle = NULL;
    FileOp.hNameMappings     = NULL;
    FileOp.hwnd              = NULL;
    FileOp.pTo               = pszDesDir;
    FileOp.wFunc             = FO_COPY;
    FileOp.pFrom             = pszSrcDir;

    return SHFileOperation(&FileOp) == 0;
    }// end of DirectoryCopy
      

  4.   

    靠, 还是写错了上面的写错了应该是这样
    BOOL CFileEx::DirectoryCopy(CHAR *pszSrcDir, CHAR *pszDesDir)
    /*++Function Description:Arguments:Return Value:--*/
    {
    SHFILEOPSTRUCT FileOp;


    if (!PathIsDirectory(pszSrcDir) || !PathIsDirectory(pszDesDir))
    {
    return FALSE;
    }

    FileOp.fFlags            = FOF_NOCONFIRMATION;
    FileOp.lpszProgressTitle = NULL;
    FileOp.hNameMappings     = NULL;
    FileOp.hwnd              = NULL;
    FileOp.pTo               = pszDesDir;
    FileOp.wFunc             = FO_COPY;
    FileOp.pFrom             = pszSrcDir;

    return SHFileOperation(&FileOp) == 0;
    }// end of DirectoryCopy