AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Vista und die Dateierweiterung (UAC "On-Demand")
Thema durchsuchen
Ansicht
Themen-Optionen

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

Ein Thema von MCXSC · begonnen am 26. Jan 2009 · letzter Beitrag vom 30. Jun 2009
Antwort Antwort
Seite 1 von 2  1 2      
MCXSC
(Gast)

n/a Beiträge
 
#1

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

  Alt 26. Jan 2009, 00:59
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
  Mit Zitat antworten Zitat
Benutzerbild von BackOrifice
BackOrifice

Registriert seit: 6. Jun 2005
74 Beiträge
 
Delphi 2007 Architect
 
#2

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

  Alt 26. Jan 2009, 01:01
Halbwissen: Für den aktuellen User hat dein Programm ja Zugriff. Also könntest du in den HKEY_CURRENT_USER schreiben
Henning
  Mit Zitat antworten Zitat
MCXSC
(Gast)

n/a Beiträge
 
#3

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

  Alt 26. Jan 2009, 01:04
HKEY_CURRENT_USER ist nur für die Verknüpfung der Erweiterung nicht funktionell...
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#4

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

  Alt 26. Jan 2009, 01:09
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
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#5

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

  Alt 26. Jan 2009, 01:26
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)
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#6

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

  Alt 26. Jan 2009, 03:11
Vielleicht hilft Dir ja dieser Artikel darüber:
http://blog.delphi-jedi.net/2008/03/...ta-with-jwscl/

Viele Grüße
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
MCXSC
(Gast)

n/a Beiträge
 
#7

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

  Alt 24. Jun 2009, 01:05
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?
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#8

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

  Alt 24. Jun 2009, 06:11
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.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#9

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

  Alt 24. Jun 2009, 07:51
oder mit MSDN-Library durchsuchenCreateProcessAsUser bzw. MSDN-Library durchsuchenCreateProcessWithLogonW
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#10

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

  Alt 24. Jun 2009, 08:05
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.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:00 Uhr.
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