尊旭网
当前位置: 尊旭网 > 知识 >

copy file error,copy file failed是什么意思

时间:2024-05-24 22:37:30 编辑:阿旭

1,copy file failed是什么意思

复制文件失败 。方法一:重新注册以下dll文件。(在开始--运行中输入以下命令即可)

regsvr32 shdocvw.dll

regsvr32 shell32.dll (注意这个命令,先不用输)

regsvr32 oleaut32.dll

regsvr32 actxprxy.dll

regsvr32 mshtml.dll

regsvr32 urlmon.dll

第二个命令可以先不用输,输完这些命令后重新启动windows,如果发现无效,再重新输入一遍,这次输入第二个命令。



方法二:comctl32.dll文件产生的问题。

在升级ie或windows时这个文件可能被替换了,也许新版本的comctl32.dll文件有bug。

找一张windows安装光盘,搜索它,找到一个名为comctl32.dl_的文件,把它拷贝出来,用winrar提取 这个文件为comctl32.dll文件,并覆盖现有文件。



方法三:用方法一重新注册regsvr32 oleaut32.dll时出错或重新注册后也无效。

在windows光盘里提取oleaut32.dll文件,在mdac_ie5.cab文件包里,也是用winrar提取并覆盖现有。



方法四:

原来rpcss服务的servicedll被更改了
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RpcSs\Parameters下面
ServiceDLL 被病毒改成了hyj*.dll等不知名的东西,把它改成rpcss.dll就好了

2,MFC中Copyfile的问题。

1.不信你可以看看,系统里的所有文件夹都是只读属性,这个没关系;
2.CopyFile只能拷贝文件,不能拷贝文件夹;
3.若要拷贝文件夹,可参考如下方法:
BOOL CCheckFileDlg::CopyDir(CString strSrcPath, CString strDstPath)
{ // 创建目标文件夹

CreateDirectory(strDstPath,NULL);

CFileFind finder;

// 打开指定的文件夹进行搜索

BOOL bWorking = finder.FindFile(strSrcPath + "\\" + "*.*");

while(bWorking)

{

// 从当前目录搜索文件

bWorking = finder.FindNextFile();

CString strFileName = finder.GetFileName();

CString strSrc = strSrcPath + "\\" + strFileName;

CString strDst = strDstPath + "\\" + strFileName;


// 判断搜索到的是不是"."和".."目录

if(!finder.IsDots())

{

// 判断搜索到的目录是否是文件夹

if(finder.IsDirectory())

{

// 如果是文件夹的话,进行递归

if(!CopyDir(strSrc, strDst))

return false;

}

else

{

// 如果是文件,进行复制

if(!CopyFile(strSrc, strDst, FALSE))

return false;

}

}

}

return true;

}