如何取得目前電腦之username及domain name? |
|
yps
一般會員 發表:9 回覆:3 積分:7 註冊:2002-03-18 發送簡訊給我 |
加入以下原始碼:
==================================================
type
PTokenUser = ^TTokenUser;
_TOKEN_USER = record
User: TSIDAndAttributes;
end;
TTokenUser = _TOKEN_USER; procedure getCurrentUserAndDomain(var User, Domain: String);
var hProcess, hAccessToken: THandle;
InfoBuffer: array[0..1000] of Char;
szAccountName, szDomainName: array [0..200] of Char;
dwInfoBufferSize, dwAccountSize, dwDomainSize: DWORD;
pUser: PTokenUser;
snu: SID_NAME_USE;
begin
dwAccountSize:=200;
dwDomainSize:=200;
hProcess:=GetCurrentProcess;
OpenProcessToken(hProcess,TOKEN_READ,hAccessToken);
GetTokenInformation(hAccessToken,TokenUser,@InfoBuffer[0],1000,
dwInfoBufferSize);
pUser:=PTokenUser(@InfoBuffer[0]);
LookupAccountSid(nil, pUser.User.Sid, szAccountName, dwAccountSize, szDomainName, dwDomainSize, snu);
User:=szAccountName;
Domain:=szDomainName;
CloseHandle(hAccessToken);
end;
=============================================================
在form1中加入一個button及兩個edit,在button1之click事件中加入以下: procedure TForm1.Button1Click(Sender: TObject);
var
t1:string;
t2:string;
begin
getCurrentUserAndDomain(t1,t2);
edit1.text:=t1;
edit2.text:=t2;
end;
如此一來當按下按鈕就會在edit1中顯示username,在edit2.text中會顯示domain name... 報告完畢! --------------------
DELPHI ROCK & ROLL
--------------------
------
-------------------- DELPHI ROCK & ROLL -------------------- |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |