Autor Beitrag
Andi1982
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 497

WinXP HE
D6 Enterprise
BeitragVerfasst: Mi 18.12.02 20:35 
Hallo,
ich habe ein Problem, ich will im Windows NT den Benutzernamen (Variable: USERNAME) auslesen. Aber wenn ich in meinem Porg GetEnviromentVariable('USWENAME') oder so mache sagt er immer dass er diese Funktion nicht kennt.

Was muss ich noch bei Uses einfügen dass diese Funktionen bei mir Funktionieren???

Gruß Andi

_________________
Solange die Bombe tickt ist alles in Ordnung, erst wenn sie damit aufhört wird es problematisch...
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 18.12.02 21:04 
Er kennt sie nicht? Ich tippe eher auf falsche Syntax:
ausblenden Quelltext
1:
2:
3:
4:
5:
DWORD GetEnvironmentVariable(
  LPCTSTR lpName,
  LPTSTR lpBuffer,
  DWORD nSize
);

Parameter #1 ist der Name der Umgebungsvariablen, Parameter #2 ein Puffer-Array (array[0..MAX_PATH]of char, z.B.), und der dritte Parameter ist die Größe des Puffers.
Rückgabewert ist die Anzahl der kopierten Zeichen, oder -im Fehlerfall!- Null!
Andi1982 Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 497

WinXP HE
D6 Enterprise
BeitragVerfasst: Do 19.12.02 08:03 
Oh, da lag ich dann wirklich ein bisschen daneben mit meiner Syntax :roll:

Werd heute mittag mal deine Möglichkeit probieren!

Danke schonmal!

_________________
Solange die Bombe tickt ist alles in Ordnung, erst wenn sie damit aufhört wird es problematisch...
smiegel
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 992
Erhaltene Danke: 1

WIN 7
D7 Prof., C#, RAD XE Prof.
BeitragVerfasst: Do 19.12.02 15:07 
Hallo,

so müsste es auch gehen:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
function GetNetzName:String;
var pc  :array[0..255] of Char;
    size:DWord;
begin
  size:=SizeOf(pc);
  if (WNetGetUser('', pc, size)=NO_ERROR) then Result:=StrPas(pc)
    else Result:='weiss nicht...';
end; // GetNetzName

_________________
Gruß Smiegel
Ich weiß, daß ich nichts weiß, aber ich weiß mehr als die, die nicht wissen, daß sie nichts wissen. (Sokrates)
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 19.12.02 18:47 
Andi, wenn du Umgebungsvariablen auslesen willst, dann siehe "GetEnvironmentVariable". Den Benutzernamen kriegst du aber auch so raus: Den Namen des eingeloggten Benutzers ermitteln
Andi1982 Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 497

WinXP HE
D6 Enterprise
BeitragVerfasst: Fr 20.12.02 08:03 
Ok, also ich denke jetzt müsste ich es hinbekommen, aber wie was passiert wenn man das dann auf WIN98 ausführt? Dann dürfte er ja normalerweise zu keinem vernünftigen Ergebnis kommen.

_________________
Solange die Bombe tickt ist alles in Ordnung, erst wenn sie damit aufhört wird es problematisch...
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 20.12.02 10:43 
Was soll denn passieren? Die Umgebungsvariable "USERNAME" habe ich unter Win98 nicht gefunden, also dürfte das Ergebnis ein Leerstring sein. Und das Auslesen des User-Namens (mit der Funktion, s. Link) funktioniert auch unter Win9x.