Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   VISTA:Laufzeittheme ist aktiviert, warum virtuelle Registry? (https://www.delphipraxis.net/112817-vista-laufzeittheme-ist-aktiviert-warum-virtuelle-registry.html)

juergen 27. Apr 2008 21:05


VISTA:Laufzeittheme ist aktiviert, warum virtuelle Registry?
 
Hallo zusammen,

ich habe eine Verständnisfrage zu VISTA, Delphi 2007 und wann die virtuelle Registry verwendet wird.
Ich habe nun festgestellt, dass mein Programm in die virtuelle Registry schreibt!
In D2007 kann (sollte) man ja die Laufzeit-Themes in den Projekt Optionen aktivieren.
Ich hatte nun angenommen, dass somit das Programm auch in die Registry unter dem Schlüssel Hkey_Lokal... schreiben kann.
Das passiert aber nicht. Es wird alles in die virtuelle Registry geschrieben und ist somit für mich wertlos.
Wenn ich das Programm über Rechtsklick als Administrator starte, funktioniert alles.

Habe ich da nun einen generellen Denkfehler?
Bzw. was muss ich denn machen, damit mein Programm in diesen Schlüssel schreiben kann?
(leider bin ich an diesen Schlüssel gebunden...)

mkinzler 27. Apr 2008 21:07

Re: VISTA:Laufzeittheme ist aktiviert, warum virtulle Regist
 
Die Information zur Verwendung von Laufzeitthemes stehen zwar auch im Manifest haben aber mit dem Admin-Manifest nichts zu tun.

juergen 27. Apr 2008 21:19

Re: VISTA:Laufzeittheme ist aktiviert, warum virtulle Regist
 
Hallo mkinzler,

hinzukommt, dass meine Hilfe von D2007 nicht funktioniert...

Es gibt ja ein '.res-Datei, wenn man die Laufzeit-Themes aktiviert.
In dieser steht defaultmäßig "asInvoker".
Ich habe probiert in die '.res.Datei "highestAvailable" zu hinterlegen, aber das wird anscheinend beim kompilieren ignoriert.
Wie kann ich denn meinem Programm ein Admin-Manifest zuordnen, so dass ich dann auch in die Registry schreiben kann?

Danke!

sakura 27. Apr 2008 21:23

Re: VISTA:Laufzeittheme ist aktiviert, warum virtulle Regist
 
Fürs erste scheint es mir, als wären zwei Manifeste eingebunden - evtl. das alte XP Manifest? Wenn das Vista-Manifest genutzt wird, dann wird die Virtualisierung nämlich ausgeschlten.

Zum Thema HKEY_LOCAL_MACHINE - nur wer dort Rechte hat (i.A. Adminstratoren) darf dort etwas eintragen, da hilft auch kein asInvoker-Manifest weiter.

...:cat:...

juergen 27. Apr 2008 21:30

Re: VISTA:Laufzeittheme ist aktiviert, warum virtulle Regist
 
@ sakura,
ja, ich hatte früher mal das XP Manifest eingebunden.
Vor dem setzen der Laufzeit-Themes hatte ich aber das XP-Man entfernt und auch aus der Uses Klausel rausgenommen.
Ich bin mit Adminrechten angemeldet.

Da sollte es doch funktionieren, oder?

sakura 27. Apr 2008 21:35

Re: VISTA:Laufzeittheme ist aktiviert, warum virtulle Regist
 
Zitat:

Zitat von juergen
Ich bin mit Adminrechten angemeldet.
Da sollte es doch funktionieren, oder?

UAC an oder aus? Läuft das Programm im Admin-Mode?

Checke im Zweifel mal mit dem Code auf meiner Seite: http://www.gumpi.com/Blog/2007/10/02...sedEntry3.aspx

...:cat:...

juergen 27. Apr 2008 22:16

Re: VISTA:Laufzeittheme ist aktiviert, warum virtuelle Regis
 
Hallo sakura,
das Ergebnis der IsAdmin-Function zeigte mir an, dass das Programm keine Adminrechte hat.
UAC ist angeschaltet.
Das Programm läuft nicht im Adminmodus.
Wenn es im Adminmodus läuft, dann funktioniert es.

Edit// Habe gerade gemerkt, wenn ich das Programm im Adminmodus starte, dann liefert die IsAdmin Function auch true.
Somit hat mir deine Funktion sehr geholfen (und vor allem die Augen geöffnet), weil ich jetzt erst verstanden habe, wie es unter VISTA funktionieren muss.
Vielen Dank!

Edit2// Vorschnell erstellte (und dämliche) Antwort teilweise gelöscht.

Grüße
Jürgen

sakura 27. Apr 2008 22:31

Re: VISTA:Laufzeittheme ist aktiviert, warum virtuelle Regis
 
Zitat:

Zitat von juergen
Edit// Habe gerade gemerkt, wenn ich das Programm im Adminmodus starte, dann liefert die IsAdmin Function auch true.

Ist auch korrekt so, die Funktion informiert, ob das Programm die Adminrechte hat, nicht der User ;)
Zitat:

Zitat von juergen
Wie kann man die Anwendung so erstellen, dass diese im Admin-Modus startet, aber nur dann, wenn der angemeldete Benutzer auch Adminrechte hat?

Dazu musst Du ein Manifest mit highestAvailable einbinden und die Checkbox für die Laufzeit-Themes in den Projektoptionen deaktivieren.

...:cat:...

DP-Maintenance 27. Apr 2008 22:31

DP-Maintenance
 
Dieses Thema wurde von "sakura" von "Programmieren allgemein" nach "Sonstige Fragen zu Delphi" verschoben.
Die Fragen sind schon Delphi - nicht allgemeiner ;)

juergen 27. Apr 2008 22:41

Re: VISTA:Laufzeittheme ist aktiviert, warum virtuelle Regis
 
Danke sakura,
habs gerade gemerkt... (generelles Verständnisproblem!) :oops:


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:16 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz