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下失败的解决方法
猜你喜欢
转载自blog.csdn.net/xzpblog/article/details/77193501
今日推荐
周排行