我试图删除Windows Defender的扫描历史记录和备份历史记录使用C++,但我不知道如何才能做到这一点。
我使用的代码是:
std::string wdefenderhistory = "C:\\ProgramData\\Microsoft\\Windows Defender\\Scans\\History"; //defender history
std::string wdefenderbackupstore = "C:\\ProgramData\\Microsoft\\Windows Defender\\Scans\\BackupStore"; //defender backups
if (std::filesystem::exists(wdefenderhistory)) {
std::filesystem::remove_all(wdefenderhistory);
}
if (std::filesystem::exists(wdefenderbackupstore)) {
std::filesystem::remove_all(wdefenderbackupstore);
}
我已经用std::fs::remove()
和std::remove()
试过了,但是没有任何效果。
有什么方法可以不使用system()
/ShellExecute()
语法而使用管理员权限强制删除文件夹吗?
启动程序作为管理员等-没有工作,所以我问那里。std::fs::remove_all()
也给我一个内存错误:
我确信99%错误代码将是0x 5
1条答案
按热度按时间gopyfrb31#
我注意到目录中的一些文件夹(只有CacheManager和它下面的所有东西需要)不需要“admin”权限,
所以我用以下方法解决了这个问题:
代码正在删除没有管理员权限的每个文件夹,并保留C:..\History路径:)
请将此帖标记为已解决,因为我不知道如何做,谢谢