Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Vista und die Dateierweiterung (UAC "On-Demand") (https://www.delphipraxis.net/128186-vista-und-die-dateierweiterung-uac-demand.html)

MCXSC 25. Jan 2009 23:59


Vista und die Dateierweiterung (UAC "On-Demand")
 
Hallo,

mit Hilfe dieses Code-Snippet habe ich vor, eine bestimmte Dateierweiterung mit meinem Programm zu verknüfen.

Problem: Ist unter Vista UAC aktiviert, und das Programm nicht als Administrator gestartet, so funktioniert es natürlich nicht. Bei manch anderen Programmen taucht dann - quasi "On-Demand" - das UAC-Popup auf, erlaubt den Zugriff und es klappt.

Allerdings habe ich nirgendswo gefunden, wie ich dieses "On-Demand" lösen kann... Jemand eine Idee? :(

Danke,
MCXSC

BackOrifice 26. Jan 2009 00:01

Re: Vista und die Dateierweiterung (UAC "On-Demand"
 
Halbwissen: Für den aktuellen User hat dein Programm ja Zugriff. Also könntest du in den HKEY_CURRENT_USER schreiben

MCXSC 26. Jan 2009 00:04

Re: Vista und die Dateierweiterung (UAC "On-Demand"
 
HKEY_CURRENT_USER ist nur für die Verknüpfung der Erweiterung nicht funktionell...

jfheins 26. Jan 2009 00:09

Re: Vista und die Dateierweiterung (UAC "On-Demand"
 
Zitat:

Hier eine Artikelserie zu Delphi und der UAC.

Es geht um Manifest-Dateien und On-demand elevation.
http://www.delphipraxis.net/internal...t.php?p=691374 ;)

himitsu 26. Jan 2009 00:26

Re: Vista und die Dateierweiterung (UAC "On-Demand"
 
Zitat:

Zitat von BackOrifice
Halbwissen: Für den aktuellen User hat dein Programm ja Zugriff. Also könntest du in den HKEY_CURRENT_USER schreiben

Wenn, dann müßte er schon auf HKEY_LOCAL_MACHINE\SOFTWARE\Classes zugreifen, welches der eigentliche Pfad von HKEY_CLASSES_ROOT ist. (HKEY_CLASSES_ROOT ist ja nur 'ne virtuelle Kopie),

Aber dort gibt es natürlich die selben Zugriffsbeschränkungen wie auf HKEY_CLASSES_ROOT.

Das entsprechende XP-Manifest würde immer die Adminrechte anfordern (kurz vor/wärend dem Programmstart)

mirage228 26. Jan 2009 02:11

Re: Vista und die Dateierweiterung (UAC "On-Demand"
 
Vielleicht hilft Dir ja dieser Artikel darüber:
http://blog.delphi-jedi.net/2008/03/...ta-with-jwscl/

Viele Grüße

MCXSC 24. Jun 2009 00:05

Re: Vista und die Dateierweiterung (UAC "On-Demand"
 
Zitat:

Zitat von mirage228
Vielleicht hilft Dir ja dieser Artikel darüber:
http://blog.delphi-jedi.net/2008/03/...ta-with-jwscl/

Nachdem ich mir das ganze nochmals angesehen habe: Nein, leider nicht wirklich. :( Hier müsste man ja - sofern ich den Ansatz richtig verstehe - nochmals mittels Adminrechte eine COM registrieren... Dann kann ich direkt das ganze Programm so mit Adminrechten starten lassen.

Nur gibt es manche "One-EXE-Programme", die anfangs keine Abfrage haben (und dementsprechend auch keine COM-Datei registrieren) und trotzdem nur für bestimmte Funktionen explizit Adminrechte anfordern. Bringt Vista da wirklich keine eigene Abfrage mit? :gruebel:

jaenicke 24. Jun 2009 05:11

Re: Vista und die Dateierweiterung (UAC "On-Demand"
 
Das ist eigentlich relativ einfach. Benutze ShellExecuteEx mit runas und starte deine eigene Exe mit einem entsprechenden Parameter nochmal. Diese zweite Instanz schaut nach dem Parameter und wenn der gesetzt ist, setzt sie nur die Registryeinstellungen und beendet sich wieder. ;-)

Einen laufenden Prozess kann man aus Sicherheitsgründen nicht nachträglich mit Adminrechten ausstatten. Die bekommt man beim Start oder nicht.

himitsu 24. Jun 2009 06:51

Re: Vista und die Dateierweiterung (UAC "On-Demand"
 
oder mit MSDN-Library durchsuchenCreateProcessAsUser bzw. MSDN-Library durchsuchenCreateProcessWithLogonW

jaenicke 24. Jun 2009 07:05

Re: Vista und die Dateierweiterung (UAC "On-Demand"
 
Bei den Funktionen habe ich so direkt nicht gesehen wie ich damit die UAC bzw. den Windows-Benutzerdialog aufpoppen lasse. Sonst hätte ich für meine Updater Utils wohl eher sowas benutzt. :stupid:


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 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