User

0

Znalazlem w faq taki oto kodzik na pobranie aktualnego usera:

var
User : String;
Buff : DWORD;
begin
// dlugoosc Nazwiska
Buff := 12;
SetLength(User, Buff);
GetUserName(PChar(User), Buff);
ShowMessage(User);

Da sie jakos to zrobic bez tego cholerego bufora??

BTW Moze to i glupie, ale ten pieprzony bufor niszczy mi caly program:(, albo bede musial jakos pozmieniac kodzik:|

0

Co ci rozwala? Buffor przecieŻ nie musi być deklarowany, a zamiast niego można po prostu wpisać liczbę.
Porada: wywal ShowMessage to nie będzie się pojawiał komunikat, programiści to ludzie inteligentni więc nie napisze czym to można zastąpić.

0

a sprobuj czegos takiego, u mnie dziala dobrze:
[code]
function GetUserName : String;
var
pcUser: PChar;
dwUSize: DWORD;
begin
dwUSize := 21; // user name moze byc do 21 znakow
GetMem( pcUser, dwUSize ); // przydzial pamieci dla pcUser
try
if Windows.GetUserName( pcUser, dwUSize ) then
Result := PChar( pcUser );
finally
FreeMem( pcUser ); // zwolnienie pamieci dla pcUser
end;
end;
[/code]

Pozdrawiam [cya]

1 użytkowników online, w tym zalogowanych: 0, gości: 1