' schrieb:Hallo eg,
Da verstehst du was falsch, es ist viel einfacher, hab das wohl zu kompliziert beschrieben.
Ich ändere keine fremde INI Datei, ich möchte diese nur finden und lesen.
Die „nicht LV/nicht für VISTA Programme“ funktionieren alle wie in VISTA erwartet. Bei Einstellungsänderungen innerhalb dieser Programme wird deren INI Datei anstelle von c:Programme... in c:user......virtualstore.. gespeichert. Diese Programme kennen nur c:Programme.. als Speicherort, VISTA biegt das nun um nach VirtualStore.
Bei LV Programmen funktioniert das nicht, das ist mein Problem. Ich verstehe nicht warum dieser VISTA interne Mechanismus bei den anderen Programmen funktioniert, bei den selber erstellten LV-EXE geht das nicht.
Zudem möchte ich diese „fremden INI-Dateien“ lesen. Der Pfad zu diesen Dateien wäre c:Programme.. sind aber im ..Virtualstore. Auch hier funktioniert dieser VISTA Mechanismus nicht. Ich kann nicht mit dem Standardpfad in LV auf c:programmefremdAppfremdApp.ini zugreifen und VISTA lenkt das um nach..Virtualstore
LabVIEW funktioniert so nicht richtig mit VISTA, finde ich.
VISTA könnte da noch eine extra Sicherheit haben und einer Applikation nur diese Extrabehandlung zukommen lassen wenn sie ein INI File im selben Directory anpassen will als die Applikation selber ist.
Windows hat dafür auch ein spezielles API GetPrivatProfile....() and friends (die automatisch die INI Datei der Applikation anspricht). Ich gehe mal davon aus dass VirutalStore nicht ein Mechansimus ist der auf File API Niveau ausgeführt wird sondern auf oben genannten API and friends. LabVIEW verwendet aber für die INI File VIs nicht dieses API sondern implementiert dies auf den normalen File IO Primitives. Etwas anderes wäre im Sinne der Multiplatformkompatibilität der INI file VIs auch nicht möglich, da die PrivateProfile APIs kein arbiträres INI File zulassen sondern immer nur das Applikations INI File ansprechen (exename mit path und mit der exe Endung in ini umbenannt).
Rolf Kalbermatter
PS: wenn ich mich nicht irre wird die standard Behandlung des INI Files für die LabVIEW eigene INI schon beachtet da LabVIEW dafür die GetPrivatProfileAPI verwendet.
Rolf Kalbermatter