Zitat von
amigage:
Versuche ich nämlich in den Programmordner zu schreiben, der mit eingeschaltetem
UAC für Programme ohne Adminrechte tabu ist, funktioniert die Routine nicht. Ich erhalte IOResult = 0, obwohl mir das Schreiben verwährt wird. Also dachte ich mir, teste ich mal mit FileExists(), ob die Datei auch wirklich vorhanden ist. Die Meldung wird eingeblendet, aber wenn ich bei eingeblendete Meldung in den Ordner schaue, ist keine Datei geschrieben worden.
Wie hängt das zusammen? Wie kann ich es trotzdem unter Vista kontrollieren. Ich will ja den Anwendern nicht die Auswahl "verbotener" Ordner erlauben....
Das nächste Opfer von
UAC
Deine Zugriff auf dies "verbotene" Ordner (Windows, Programme, ...) werden "virtualisiert". D.h. dein Programm bekommt eine virtuelles Verzeichnis untergeschoben wo es schreiben darf. Im Taskmanager siehst du sehr einfach mit der neuen Spalte "Virtualisierung" welche Programm damit arbeiten und welche nicht.
Lösung: Angepaßtes XP-Manifest in dem du definierst das du nicht Virtualisiert werden willst.
Windows Vista - Eine neue Erfahrung in Fehlern.