似乎在Windows上我不能再写入Program Files或Program Files(x86)目录或其子目录。
我不明白的是,当我检查以下内容时,我的应用是如何让这种情况发生的
QFile newfile("C://Program Files/target.rar");
QFileInfo newfileInfo("C://Program Files/target.rar");
newfile.exists(); //returns true
newfile.isWritable(); // returns true
newfileInfo.exists(); // returns true
newfileInfo.isWritable(); // returns true
这些都不应该在Program Files中返回true。 奇怪的是,它实际上会写入这个不存在的文件,即使没有任何内容,也不会产生写入错误。
答案 0 :(得分:1)
您可能是UAC Virtualization的受害者。检查%userprofile%\AppData\Local\VirtualStore\Program Files
以查看您的文件是否存在。