Windows User Id auslesen

Moin,
Ich bring mir zzt Delphi bei, bzw wir lernens inner Schule (ITA) und ich arbeite mal n bisschen vor^^ (sind erst bei if then und grundrechenarten-.-)

Ich bastel mir zzt nen prog das auf die Registry zugreift, bestimmte Daten ausliest und letztendlich auch mal ändern können soll…

So weit so gut kein prob…

Nur wollte ich jetz auch mit einbauen den Papierkorb umzubenennen…
der eintrag dafür ist in
HKEY_USERS//user id//\Software\Microsoft\Windows\ShellNoRoam\MUICache
in CURRENT_USER ist der Eintrag nicht, daher muss ich die user id
(S-x-x-xx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxx)
auslesen da es ja nen fehler auf anderen pcs geben würde, wenn ich einfach meine user id nehmen würde…

In der registry gibts anscheinend keinen eintrag in dem die id vom aktuellen user steht…

bin für jede hilfe dankbar :wink:

mfg, Manuel

(sry für die unübersichtlichkeit bin noch net lange wach)

Ja die Jungen wollen halt immer an der Registry rumspielen :wink:

Um das Benutzerkonto auszulesen, musst du auf die API los:
Daher auch die umständliche Handhabe der Strings.

var
 s: String;
 l: DWord;

begin
 l := 256;
 SetLength(s, l);
 GetUserName(PChar(s), l);

 Edit1.Text := s;
end;

Also is der befehl davon GetUserName?
aber wozu brauchen wir dann setlength?
das schema is doch immer gleich:
S-x-x-xx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxx

ergo is die länge immer 42… kann man dann nich einfach:

var
user_id : string;

begin
GetUserName(PChar(user_id), 42);
reg.OpenKey := Bla/+user_id+/blubb;

end;

?

Hab grade festgestellt, dass mein Vorschlag nicht funktioniert, und deiner nur den User Namen hervorbringt den man leicht aus der Registry auslesen kann, was mein Prog auch schon tut…

Ich möchte die User ID (oder kp wie der dregg heisst) auslesen die nach folgendem prinzip aufgebaut ist:
S-x-x-xx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxx

aber trotzdem danke, hab wieder was gelernt :stuck_out_tongue:

Hallo,

Ich möchte die User ID (oder kp wie der dregg heisst) auslesen
die nach folgendem prinzip aufgebaut ist:
S-x-x-xx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxx

ein Klick nach „GetUserName“ weiter in der API Hilfe kommt man zu „LookupAccountName“, das ist wahrscheinlich das, was du suchst (Irgendwo in den Quelltext schreiben und F1 drücken)…

Alexander