Autor Beitrag
mindtrap
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 62



BeitragVerfasst: Fr 16.10.09 18:32 
Hallo,

aus einer Applikation, die über entsprechende Adminrechte verfügt, möchte ich per
ShellExecute dem Benutzer "Systemeigenschaften" zeigen.

Ich hatte an folgenden Code gedacht:
ausblenden Delphi-Quelltext
1:
  ShellExecute(0'open''control''sysdm.cpl,,4''', SW_SHOWNORMAL);					


Ich habe das Verhalten bisher nicht unter XP getestet, aber unter Vista wird nur ein Teil der Systemeigenschaften gezeigt.
Z.B. Informationen über Wiederherstellungspunkte werden nicht angezeigt.

Anscheinend wird das Programm mit einfachen Userrechten gestartet und nicht mit administrativen.

Gibt es ein Möglichkeit über diesen Weg Rechte zu vererben?
Oder z.B. das gleiche Verhalten wie WinTaste + R (Run... bzw. Ausführen...) mit der gleichen Eingabe von oben zu provozieren?

Ein runas /user:administrator ... ist keine Lösung in meinem Fall.


Vermutlich bleibt nur der Weg über CreateProcess?

MfG
mindtrap
jakobwenzel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1889
Erhaltene Danke: 1

XP home, ubuntu
BDS 2006 Prof
BeitragVerfasst: Fr 16.10.09 18:52 
Unter Vista kannst du für Adminrechte einfach open durch runas ersetzen.

_________________
I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 16.10.09 18:54 
Administrator unter Vista sind erstmal auch nur normale Benutzer, können aber bei Bedarf volle Administratorenrechte erlagen. Stichwort "Elevation" oder wie das heißt.
mindtrap Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 62



BeitragVerfasst: Fr 16.10.09 19:10 
user profile iconLuckie hat folgendes geschrieben Zum zitierten Posting springen:
Administrator unter Vista sind erstmal auch nur normale Benutzer, können aber bei Bedarf volle Administratorenrechte erlagen. Stichwort "Elevation" oder wie das heißt.


Ja, ich weiß. xD
Mit 'normaler Benutzer' war auch nur gemeint, dass ich keine administrativen Rechte bekomme.
Werd mal unter "Elevation" stöbern.



user profile iconjakobwenzel hat folgendes geschrieben Zum zitierten Posting springen:
Unter Vista kannst du für Adminrechte einfach open durch runas ersetzen.

ausblenden Delphi-Quelltext
1:
  ShellExecute(0'runas''control''sysdm.cpl,,4''', SW_SHOWNORMAL);					


Führt zum gleichen Ergebnis, wie 'open'.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19312
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 17.10.09 09:58 
user profile iconmindtrap hat folgendes geschrieben Zum zitierten Posting springen:
Vermutlich bleibt nur der Weg über CreateProcess?
Umgekehrt, für Elevation geht nur ShellExecute / ShellExecuteEx. Da du bereits Adminrechte hast, kannst du auf normalem Weg keine Prozesse ohne starten. Heißt: Was du direkt startest bekommt Adminrechte.

Dass das so nicht klappt, kann mehrere Ursachen haben. Ich vermute das Systemsteuerungsapplet wird ohne diese gestartet, weil du den Prozess nicht direkt startest, sondern das Starten ans System weitergibst über die Datei.