ich den folgenden Code verwende, um zu bestimmen, ob ich in ein bestimmtes Verzeichnis mit QFileInfo schreiben:Falsche QFileInfo Berechtigungen für Benutzer-Desktop auf Vista 64
QFileInfo dinfo(dirname);
if (dinfo.exists())
valid = dinfo.isWritable()
Leider, wenn ich in den Pfad des aktuellen Benutzers übergeben Desktop unter Vista 64:
QFileInfo :: isWritable() gibt false zurück. Wenn ich jedoch ein anderes Verzeichnis (zB C: \ Temp) übergebe, wird true zurückgegeben. Ich habe die Verzeichnisberechtigungen vom QFileInfo-Objekt angefordert, die 5555 waren (von niemandem beschreibbar). Dieser Code funktioniert wie erwartet auf anderen Plattformen einschließlich Windows XP. Jeder hat Ideen, was hier vor sich geht.
Als einen Bezugspunkt, wenn ich den Scheck entfernen kann ich die Datei tatsächlich an diesem Speicherort ohne ein Problem speichern.