Delphi如何取得Windows登入者帳號,群組 |
答題得分者是:Justmade
|
wwwmis
一般會員 發表:2 回覆:2 積分:0 註冊:2003-07-20 發送簡訊給我 |
|
aquarius
資深會員 發表:3 回覆:347 積分:330 註冊:2003-05-21 發送簡訊給我 |
|
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
從 Registry 取資料的方法 :
function MyGetDomainOrWorkgroup: string; var Reg: TRegistry; begin Result := ''; Reg := TRegistry.Create(KEY_READ); Reg.RootKey := HKEY_LOCAL_MACHINE; if (Reg.KeyExists('SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon')) then begin Reg.OpenKey( 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon',False ); Result := Reg.ReadString('DefaultDomainName'); end else if (Reg.KeyExists('System\CurrentControlSet\Services\VxD\VNETSUP')) then begin Reg.OpenKey('System\CurrentControlSet\Services\VxD\VNETSUP', False); Result := Reg.ReadString( 'Workgroup'); end; Reg.CloseKey; Reg.Destroy; end; Function MyGetComputerName : String; var reg: TRegIniFile; begin reg := TRegIniFile.create(''); try reg.RootKey := HKEY_LOCAL_MACHINE; reg.OpenKey('System\CurrentControlSet\Control\ComputerName',true); result := reg.ReadString('ComputerName','ComputerName',''); finally reg.free; end; end; Function MyGetUserName : String; var reg: TRegistry; begin reg := TRegistry.create; try reg.RootKey := HKEY_CURRENT_USER; reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Explorer\',true); result := reg.ReadString('Logon User Name'); finally reg.free; end; end;*程式碼好像有參考網上資源及JCL不過太久忘了。 |
wwwmis
一般會員 發表:2 回覆:2 積分:0 註冊:2003-07-20 發送簡訊給我 |
這段能在Windows 2000上取得帳號,
Win98不行,如何修改呢? Function MyGetUserName : String;
var
reg: TRegistry;
begin
reg := TRegistry.create;
try
reg.RootKey := HKEY_CURRENT_USER;
reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Explorer\',true);
result := reg.ReadString('Logon User Name');
finally
reg.free;
end;
end;
|
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
UserName 來說用 GetUserName 的 API 會較通用
使用 api 取 User Name / Computer Name 的方式 :
var PChar1 : PChar; Size : DWORD; begin Size := 20; PChar1 := AllocMem(Size); GetUserName(PChar1,Size); lbUser.Caption := PChar1; Size := 20; GetComputerName(PChar1,Size); lbCom.Caption := PChar1; FreeMem(PChar1); end; |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |