repairDll(const QString findPath)
{
QString path = "C:/Windows/System32" ;
if(path.isEmpty())
return;
//获取所选文件类型过滤器
QStringList filters;
// 文件过滤
filters<<QString("*.dll");
//定义迭代器并设置过滤器
QDirIterator dir_iterator(findPath, filters, QDir::Files | QDir::NoSymLinks,QDirIterator::Subdirectories);
PVOID OldValue = NULL;
if( Wow64DisableWow64FsRedirection(&OldValue))
{
while(dir_iterator.hasNext())
{
dir_iterator.next();
QFileInfo file_info = dir_iterator.fileInfo();
QString newFile = path + file_info.fileName();
if(!QFile::exists(newFile)){
QFile::copy(file_info.absoluteFilePath(),newFile);
}
}
if(false == Wow64RevertWow64FsRedirection(OldValue))
{
return;
}
}
}
Qt复制dll到系统盘system32下失败的解决方法
最新推荐文章于 2024-07-19 08:29:17 发布