Autor Beitrag
hRb
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 267
Erhaltene Danke: 12



BeitragVerfasst: Mi 04.01.17 21:12 
Unter WIN10 kann ich nicht mehr uneingeschränkt Textdateien speichern (z.B. auf C:\ oder Speichersticks). Das liegt vermutlich am erhöhten Schutzkonzept von WIN10. Ich nutze die allseits bekannte Save-Routine
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
  if SaveDialog1.Execute then
  begin
  try
    s:= SaveDialog1.FileName;
    ... //ggf bak-datei anlegen
    Richedit1.Lines.SaveToFile(s);
    ... // Dateiname in INI-datei schreiben
  except
    ... Fehlermeldung
  end;

Profiprogramme liefern mir hier eine Administrator- oder Sicherheitsabfrage, sodass (evtl. mit Passwort) es dennoch funktioniert. Wie realisiert man so etwas? Compiliere derzeit meist noch mit Delphi7.
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 04.01.17 21:51 
- Nachträglich durch die Entwickler-Ecke gelöscht -
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 05.01.17 07:43 
Beides sind keine echten Lösungen... Das Benutzerkonto zu ändern oder proforma immer Adminrechte anfordern sind Notlösungen, mehr nicht. Ersteres ist auch noch sicherheitstechnisch höchst bedenklich.

Die einfachste Variante ist das eigene Programm mit Adminrechten zu starten und schlicht die gewünschten Operationen als Parameter mitzugeben. Dann musst du das aber für jede Operation erneut machen.

Deutlich aufwendiger, aber auch die bei Weitem sauberer und elegantere Lösung ist ein Out-of-Process COM-Server. Entweder ein eigener, selbst im System registrierter, oder so:
www.codenewsfast.com...alink.art-ng1925q704
Dieses Interface kannst du im Speicher halten und mehrfach verwenden, so dass nur einmal die Anforderung der Adminrechte nötig ist.