Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Do Mai 16, 2024 04:07

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 1 Beitrag ] 
Autor Nachricht
BeitragVerfasst: Fr Feb 20, 2009 11:36 
Offline
DGL Member

Registriert: Fr Okt 24, 2003 22:26
Beiträge: 120
Wohnort: Mannheim
Programmiersprache: Delphi
Hallo,

Was ist denn unter Vista der beste (und für den Benutzer) einfachste Weg Dateierweiterungen mit meine Programm zu verknüpfen.

Ich nutze folgenden CODE:
Code:
  1.  
  2.   WriteError:= False;
  3.   Reg:= TRegistry.Create;
  4.   Reg.RootKey:= HKEY_CLASSES_ROOT;
  5.   Reg.OpenKey('.obj', True);
  6.   try
  7.     Reg.WriteString('', 'OBJ.Renderfile');
  8.   except
  9.     WriteError:= True;
  10.   end;
  11.   Reg.CloseKey;
  12.   if not WriteError then begin
  13.     Reg.OpenKey('OBJ.Renderfile', True);
  14.     try
  15.       Reg.WriteString('', 'Renderfile');
  16.     except
  17.       //
  18.     end;
  19.     Reg.OpenKey('shell', True);
  20.     Reg.OpenKey('open', True);
  21.     Reg.OpenKey('command', True);
  22.     try
  23.       Reg.WriteString('', '"' + 'C:\Pfad\myprog.exe'+ '"' + ' "%1"');
  24.     except
  25.       //
  26.     end;
  27.     Reg.CloseKey;
  28.     Reg.CloseKey;
  29.     Reg.CloseKey;
  30.     Reg.CloseKey;
  31.   end;
  32.  



Unter XP war das ok (man brauchte aber trotzdem Admin Rechte).

Aber unter Vista ist das ja ein Problem mit UAC und den Adminrechten.
Ich starte mein Programm (Siehe manifest) as Invoker - so wird es ja für Vista empfohlen, wenn man nicht Adminrechte braucht.
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker"/>
</requestedPrivileges>
</security>

Funktionen, die Adminrechte benötigen sollte man in andere Programme legen habe ich gehört.
So funktioniert es auch, aber für Benutzer wäre es schön, wenn alles aus dem Hauptprogramm raus ginge. Niemand ruft mein Programm zum setzen der Dateiverknüpfungen auf.
Ein Unterprogramm mit Adminrechten aus meine Programm zu starten ist wohl laut Vita Gidelines auch nicht möglich, wenn mein Programm as Invoker läuft.



Wie kann ich nun dennoch aus meinem Programm Dateierweiterungen unter Vista setzen, ohne dass immer beim Programmstart meines Programms Adminrechte nötig sind.
Nachfragen nach Adminrechten beim Verknüpfungen setzen wäre ok.

Grüße
User69


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 1 Beitrag ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 7 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.037s | 17 Queries | GZIP : On ]