СообЧа > База Знаний > Программирование > Win32 API

Вопрос

Какой функцией можно «вытащить» имя пользователя, который в данный момент работает на данном компьюторе?

Ответ

Как узнать имя, под которым зарегистрировался пользователь а системе Win98 ?

1. //---------------------------

В uses добавить модуль Registry.

procedure TFirst.FormCreate(Sender: TObject);
var Reg: TRegistry; begin Reg := TRegistry.Create;
try Reg.RootKey := HKEY_LOCAL_MACHINE;
Reg.OpenKey('\System\CurrentControlSet\Control\ ComputerName\ComputerName',False);
showmessage('Компьютер имеет имя: '+Reg.ReadString('ComputerName'));
Reg.OpenKey('\Network\logon',False);
showmessage('Вы вошли под именем:
'+Reg.ReadString('UserName'));
finally Reg.Free;
inherited;
end;
end;


2. //-----------------------------

Procedure GetUserInfo(var CompName, UserName: String); i: Cardinal; Begin i:=sizeof(Tmp);
GetComputerName(@Tmp, i);
i:=1;
while Tmp[i]<>#0 do Inc(i);
CompName:=String(Tmp);
SetLength(CompName,i-1);
i:=sizeof(Tmp);
GetUserName(@Tmp, i);
i:=1;
while Tmp[i]<>#0 do Inc(i);
UserName:=String(Tmp);
SetLength(UserName,i-1);
End;


Из конференции Expert_FAQ



Copyright © 2000-2004 Сообщество Чайников
Контактная информация