![]() |
OS erkennen + Guest / Admin account
Hallo,
ich bin relativer Delphi Neuling und suche nach einer Möglichkeit das Betriebsystem zu erkennen. Z.B. um zu erkennen ob jmd. Windows XP oder Windows Vista benutzt. Desweiteren möchte ich rausfinden ob jemand mit einem administrator Konto eingeloggt ist, oder mit einem Gäste Konto. Wäre schön wenn mir da jemand weiterhelfen könnte. |
Re: OS erkennen + Guest / Admin account
Willkommen. Zu deiner einen Teilfrage könntest du bspw. die Suche bemühen, klick:
![]() |
Re: OS erkennen + Guest / Admin account
Und hier wird dir geholfen fuer den ersten Teil der Frage:
MagicAndre1981 hat ![]() |
Re: OS erkennen + Guest / Admin account
Ich darf hier darauf hinweisen, dass viele IsAdminquelltexte unter Vista nicht richtig funktionieren.
Wenn man Pech hat, dann funktionieren diese schon ab Windows 2000 nicht mehr. ![]() und das Beispiel: ![]() |
Re: OS erkennen + Guest / Admin account
Ich entsinne mich, daß Nico bereits vor längerem, dies in einer der Diskussionen um IsAdmin abgehandelt hat. Da habe ich mich einfach mal auf die Forensuche und den Suchenden verlassen :zwinker:
|
Re: OS erkennen + Guest / Admin account
Man kann es nie oft genug nennen;
Zudem ist mir aufgefallen, dass die Gruppe Administratoren im Token des Systemprincipals deaktiviert ist. D.h. wenn irgendwo nur für Administratoren ein Eingang ist, dann ist erstmal SYSTEM ausgeschlossen. Man muss mit AdjustTokenGroups erstmal die Gruppen aktivieren, damit AccessCheck diese auch einbezieht. Letztendlich gibt es das ganze Sicherheitszeugs nur weil es AccessCheck gibt. Am Anfang war "AccessCheck" und sonst war Windows leer und dunkel.... |
Re: OS erkennen + Guest / Admin account
Zufälligerweise hat Nico in
![]() |
Re: OS erkennen + Guest / Admin account
Ja das ist gut. Leider kommt zuerst der Quelltext mit dem klassischen Fehler und danach die korrekten.
Manche Leute sind so glücklich etwas gefunden zu haben, dass sie es einfach nehmen und den Thread garnicht mehr weiterlesen. Das sieht dann so aus:
Delphi-Quellcode:
function JwCheckAdministratorAccess returns Boolean;
variables SD is a SecurityDescriptor; begin init SD as SecurityDescriptor set PrimaryGroup on SD to JwNullSID; set Owner on SD to JwAdministratorsSID; set DACL on SD to add DiscretionaryAccessControlEntryAllow(STANDARD_RIGHTS_ALL,AdministratorsSID); return call AccessCheck with (SD, STANDARD_RIGHTS_ALL, GenericMapping); :exit free SD; end; |
Re: OS erkennen + Guest / Admin account
Zitat:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var ver: TOSVersionInfoA; begin ver.dwOSVersionInfoSize := sizeof(TOSVERSIONINFOA); if GetVersionEx(ver) then showmessage(inttostr(ver.dwMajorVersion)+'.'+inttostr(ver.dwMinorVersion)+'.'+inttostr(ver.dwBuildNumber)); end; |
Re: OS erkennen + Guest / Admin account
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:00 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz