Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Den aktiven Benutzer bzw Status des Benutzers bekommen (https://www.delphipraxis.net/57952-den-aktiven-benutzer-bzw-status-des-benutzers-bekommen.html)

Manzoni 20. Apr 2007 13:26

Re: Den aktiven Benutzer bzw Status des Benutzers bekommen
 
Danke für die Hilfe!

Ich habe eine Lösung für das Problem gefunden:
http://www.delphipraxis.net/internal...=711939#711939

gore 7. Okt 2010 10:59

AW: Den aktiven Benutzer bzw Status des Benutzers bekommen
 
Das Thema nicht nur für Dienste wichtig ist, sondern z.B. auch für jedes Programm um festzustellen, ob es im Account/Konto des aktuellen Benutzers läuft (wenn nicht gibs Probleme beim Speichern in den User-spezifischen Registrykeys und AppData-Ordnern).

Folgende kürzere Lösung sollte auch gehen: http://www.delphipraxis.net/245851-post6.html
Einfach WTSClientName durch WTSUserName ersetzen, und WTSQuerySessionInformation durch WTSQuerySessionInformationW ersetzen ((sonst evt. Fehler).


Andere Wege sind hier aufgelistet:
http://social.msdn.microsoft.com/For...2-a51c8dfaae1c

Zum Verständnis: 1) Mit WTSGetActiveConsoleSessionId bekommt man die Session, die mit Tastatur und Maus verbunden ist.
2) Prozesse in der gleichen Session können unterschiedliche Usernamen haben, z.B. kann ich ein Programm mit "Ausführen als" in einem anderen UserAccount starten.

Luckie 7. Okt 2010 11:05

AW: Den aktiven Benutzer bzw Status des Benutzers bekommen
 
Zitat:

Zitat von gore (Beitrag 1054263)
Das Thema nicht nur für Dienste wichtig ist, sondern z.B. auch für jedes Programm um festzustellen, ob es im Account/Konto des aktuellen Benutzers läuft (wenn nicht gibs Probleme beim Speichern in den User-spezifischen Registrykeys und AppData-Ordnern).

Was ist der aktuelle Benutzer? Und warum sollte es zu Problemen kommen, wenn der ausführende Benutzer nicht der Benutzer in der interaktiven Session ist? Wenn ich per runas ein Programm unter einem anderen Benutzerkonto ausführe, kann das Programm seine Einstellungen ohne Probleme in den zu dem Benutzer gehörenden Verzeichnisse oder Registryschlüsseln speichern.

gore 7. Okt 2010 11:39

AW: Den aktiven Benutzer bzw Status des Benutzers bekommen
 
Ein gutes Windows-Programm sollte seine Einstellung in die Registry speichern (benutzerspezifisch unter HKEY_CURRENT_USER\Software\MeineFirma\MeineProdukt ) und Daten z.B. im benutzerspezifischen Ordner %AppData%. Läuft das Programm beim Benutzer ABC (also im Konto ABC) sind diese Pfade anders als beim Benutzer XYZ.
Einstellungen in der Regsitry unter HKEY_LOCAL_MACHINE\Software\MeineFirma\MeineProduk t zu speichern geht nur mit Admin Rechten (und gelten dann auch für alle Benutzer/Konten dieses PCs und sind nicht roaming fähig).
Nachtrag: Probleme gibt es wenn ich als StandardUser (keine AdminRechte) eine setup.exe (als Admin) starte und diese (oder mein von dieser setup.exe gestartetes Hauptprogramm) Einstellungen+Daten benutzerspezifisch speichert. Dann werden diese Einstellungen für den Admin gespeichert. Ich als StandardUser wundere mich nur, warum alle gemachten Änderungen+Daten weg sind (weil sie ja nur für den Admin-Account gespeichert wurden).

Luckie 7. Okt 2010 11:41

AW: Den aktiven Benutzer bzw Status des Benutzers bekommen
 
Schön und gut. Aber was hat das mit den korrekten Pfaden zu tun?

@Nachtrag: Und was ist anders, wenn du als Administrator angemeldet bist? Keiner.

gore 7. Okt 2010 12:30

AW: Den aktiven Benutzer bzw Status des Benutzers bekommen
 
Dein HKEY_CURRENT_USER Zweig und Dein Ordner %AppData% ist anders.

Luckie 7. Okt 2010 12:33

AW: Den aktiven Benutzer bzw Status des Benutzers bekommen
 
Wie falsch? Wenn ich ein Programm als Administrator starte, dann habe ich die Administratorpfade. Da ist nichts falsch.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:17 Uhr.
Seite 2 von 2     12   

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