AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Welcher Benutzer ist angemeldet?

Ein Thema von F.W. · begonnen am 13. Jan 2004 · letzter Beitrag vom 14. Jan 2004
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von F.W.
F.W.

Registriert seit: 28. Jul 2003
Ort: Zittau
636 Beiträge
 
#1

Welcher Benutzer ist angemeldet?

  Alt 13. Jan 2004, 13:17
Mein Programm verfügt übder eine IniDatei, in die es alle möglichen Einstellungen speichert. Aber es hat auch eine Einstellung in der Registry: Eine Autorunfuncktion.

Ich möchte, dass es je nach Benutzer eine andere Ini lädt(damit jeder seine eigenen Einstelungen hat) und dass es dann auch nur bei einigen Benutzern mit startet.
Ich habe mir das so vorgestellt:

Delphi-Quellcode:
var
  Benutzer: String;
begin
Ini := TIniFile.Create(APath+Benutzer+'.ini')
    {...}
end;
Und bei der Registry dann genauso, also den Autorun Pfad+Benutzer

1.Wie bekomme ich den Benutzernamen raus?
2.Und wie bekomme ich alle existierenden Benutzer?
3.Wie könnte ich das mit der Registry machen, da hab ich nämlich noch keine Erfahrung.
  Mit Zitat antworten Zitat
choose

Registriert seit: 2. Nov 2003
Ort: Bei Kiel, SH
729 Beiträge
 
Delphi 2006 Architect
 
#2

Re: Welcher Benutzer ist angemeldet?

  Alt 13. Jan 2004, 13:25
Hallo F.W.,

vielleicht hilft Dir das schon weiter? Hier im Forum suchenangemeldet benutzer
gruß, choose
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Welcher Benutzer ist angemeldet?

  Alt 13. Jan 2004, 13:27
Schreib in der Registry in den HKCU Zweig, der ist für jeden Benutzer spezifisch. Und leg die Ini-Datei nicht im Programm-Order ab, sondern unter "Dokumente und Einstellungen\<Benutzername>\Anwendungsdaten\<Dein Programmname>" dann hat jeder User seine eigene Ini-Datei und du hast keine Probleme mit Benutzern, die nicht in das Programmverzeichnis schreiben dürfen. Den Ordner bekommst du mit:
Delphi-Quellcode:
function GetShellFolder(CSIDL: integer): string;
var
  pidl: PItemIdList;
  FolderPath: string;
  SystemFolder: Integer;
begin
  FolderPath := '';
  SystemFolder := CSIDL;
  if SUCCEEDED(SHGetSpecialFolderLocation(0, SystemFolder, pidl)) then
  begin
    SetLength(FolderPath, MAX_PATH);
    SHGetPathFromIDList(pidl, PChar(FolderPath));
    SetLength(FolderPath, lstrlen(PChar(FolderPath)));
  end;
  Result := FolderPath;
end;
Als CSIDL gibst du CSIDL_LOCAL_APPDATA an, entspricht $1C, falls die Konstante nicht bekannt sein sollte.

Ansonsten den aktuell angemeldeten User bekommst du mit:
Delphi-Quellcode:
function GetUser: string;
const
  UNLEN = 256; // Maximum user name length (LmCons.h)
var
  Size: DWORD;
begin
  Size := UNLEN + 1;
  SetLength(Result, Size);
  if GetUserName(PChar(Result), Size) then
    SetLength(Result, Size)
  else
    Result := '';
end;
Willst du alle Benutzer haben, musst du auf spezielle NT-API Funktionen zurückgreifen. Eien Implementation dafür findest du auf meiner Seite: http://www.luckie-online.de/downloads/ -> NTUser.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.184 Beiträge
 
Delphi 12 Athens
 
#4

Re: Welcher Benutzer ist angemeldet?

  Alt 13. Jan 2004, 13:46
Du kannst auch den Dateinamen und das Registrieverzeichnis gleichlassen.

Denn es gibt in der Registriebereiche und Verzeichnisse, von denen normalerweise Jederbenutzer seine Eigenen hat.

In der Registrie ist das z.B. HKEY_CURRENT_USER
Und auf der Festplatte CSIDL_AppData (siehe Beispielprog)

Wenn du da eine Datei/Daten reinmachst, hat jeder Benutzer seine eigenen Einstellungen, bei dennoch gleichen Pfaden.

[add]
mist, Luckie war schneller - mann sollte halt nichts nebenbei machen
Angehängte Dateien
Dateityp: exe system_systemverzeichnisse_sfx.exe (96,3 KB, 5x aufgerufen)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#5

Re: Welcher Benutzer ist angemeldet?

  Alt 13. Jan 2004, 14:27
Es gibt die so genannten Umgebungsvariablen, in denen Informationen über das System gschrieben werden. Ich habe irgendwann eine Unit heruntergeladen, um auf diese Informationen zugreifen zu können. Falls du Interesse hast, meld dich per PN, ich bin etwas zu faul zum Suchen...
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Welcher Benutzer ist angemeldet?

  Alt 13. Jan 2004, 18:42
Moin Luckie,

Zitat von Luckie:
unter "Dokumente und Einstellungen\<Benutzername>\Anwendungsdaten\<Dein Programmname>"
das wäre aber etwas gefährlich.

Wennm, dann sollte man den Profilpfad mittels Hier im Forum suchenSHGetSpecialFolderPath und CSIDL_PROFILE bzw., wie Himitsu schon sagte, CSIDL_APPDATA ermitteln, oder, soweit vorhanden die Umgebungsvariable USERPROFILE auslesen.
Es wird zwar nur selten vorkommen, aber sollte mal ein Account umbenannt werden, so ändert sich zwar der Username, aber nicht der Profilpfad.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Welcher Benutzer ist angemeldet?

  Alt 14. Jan 2004, 02:05
Zitat von Christian Seehase:
Moin Luckie,

Zitat von Luckie:
unter "Dokumente und Einstellungen\<Benutzername>\Anwendungsdaten\<Dein Programmname>"
das wäre aber etwas gefährlich.
Och Christian. Ich habe doch extra noch gepostet wie man den Pfad unabhängig vom Benutzernamen für den Benutzer ermittelt. Den Pfad habe ich doch nur hingeschrieben, damit er sieht, was ich meine, wo er speichern soll.

Wie man den Benutzernamen bekommt, habe ich doch nur noch zusätzlich gepostet, weil er das wissen wollte.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
markon

Registriert seit: 12. Sep 2003
229 Beiträge
 
#8

Re: Welcher Benutzer ist angemeldet?

  Alt 14. Jan 2004, 07:43
kannst ja hier ma schauen: http://www.delphipraxis.net/internal...highlight=user
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Welcher Benutzer ist angemeldet?

  Alt 14. Jan 2004, 07:45
Zitat von markon:
Was habe ich denn da oben anderes gepostet.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
markon

Registriert seit: 12. Sep 2003
229 Beiträge
 
#10

Re: Welcher Benutzer ist angemeldet?

  Alt 14. Jan 2004, 08:47
@ luckie
sorry deswegen.. aber schau mal bitte auf die zeit.. wird sich wahrscheinlich zeitlich überschnitten haben..
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz