社区
Windows SDK/API
帖子详情
如何取得用户的显示名称
hn_boy_79
2008-07-16 08:26:36
在知道一个用户名的前提下,如果用DELPHI通过活动目录查询到它的显示名称呢?
比如我知道一个用户名'test', 它的显示名称为'工程部.test',如何通过DELPHI写程序来得到这个显示的名称呢?
...全文
225
16
打赏
收藏
如何取得用户的显示名称
在知道一个用户名的前提下,如果用DELPHI通过活动目录查询到它的显示名称呢? 比如我知道一个用户名'test', 它的显示名称为'工程部.test',如何通过DELPHI写程序来得到这个显示的名称呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
blz_wowar
2009-10-22
打赏
举报
回复
我发现我的电脑上一个exe能使用这个办法获取到display name
但是另外一个就不行
真是OOXX了,都不知道原因。。。
我的电脑有域账号
okmnji79513
2008-08-05
打赏
举报
回复
有没有高手解答下?
okmnji79513
2008-08-05
打赏
举报
回复
NetUserEnum和NetUserGetInfo是不是只能查 本地 的账号啊?
我将上面两个函数的第一个参数换成别人的主机名,NetUserEnum返回空,NetUserGetInfo报错。怎么回事?
okmnji79513
2008-08-04
打赏
举报
回复
试试 关注
hn_boy_79
2008-08-04
打赏
举报
回复
function NetUserGetInfo(servername: PWideChar; username: PWideChar;
level: DWORD; var bufptr: Pointer): DWORD; stdcall; external 'netapi32.dll' name 'NetUserGetInfo';
function NetApiBufferFree(buffer : Pointer) :Integer; stdcall; external 'netapi32.dll';
这样就可以了。
hn_boy_79
2008-07-22
打赏
举报
回复
谢谢各位回复,我去试试。
okmnji79513
2008-07-17
打赏
举报
回复
有没有人指点下,o(∩_∩)o...
okmnji79513
2008-07-16
打赏
举报
回复
[Quote=引用 5 楼 hn_boy_79 的回复:]
对对,就这个意思。因为提取出账号名称是英文的看起来不直观,要显示名称才好, 就像QQ号码一样,要看昵称。
[/Quote]
这样的话,水品有限,帮不上忙。关注。
hn_boy_79
2008-07-16
打赏
举报
回复
对对,就这个意思。因为提取出账号名称是英文的看起来不直观,要显示名称才好, 就像QQ号码一样,要看昵称。
okmnji79513
2008-07-16
打赏
举报
回复
是不是域账号是'test',这个域账号的名称是'工程部.test' ?这个是不是要通过域控来取域账号的名称(个人意见)?
不是很懂,等待高手。
hn_boy_79
2008-07-16
打赏
举报
回复
不是啦,是账号的显示名称, 一般域用户名称是英文的,但是显示名称会设置显示中文的。
jmh521
2008-07-16
打赏
举报
回复
不太明白。。。UP。。。应该很简单。。
okmnji79513
2008-07-16
打赏
举报
回复
'工程部.test' 是不是 计算机名 啊?
okmnji79513
2008-07-16
打赏
举报
回复
我用第一种方式得到结果:'Administrator 管理计算机(域)的内置帐户
Guest 供来宾访问计算机或访问域的内置帐户
SQLDebugger This user account is used by the Visual Studio .NET Debugger'
没有域的其他用户啊,要指定域主机名?
第二种:加了
function NetUserGetInfo(
Server: PWideChar;
UserName:PWideChar;
Level: DWORD;
Buf: Pointer):Longint;stdcall;external 'netapi32.dll';
还报错,EAccessViolation with message 'Access Violation at address 0040403f in module 'xxx.exe'.Read of address 8BD88B53'.Process stopped.
monkely
2008-07-16
打赏
举报
回复
procedure TForm1.BitBtn1Click(Sender: TObject);
var
UserInfo: lpUSER_INFO_1;
lpBuffer: Pointer;
userName,userdest:string;
begin
NetUserGetInfo(nil,'administrator',1,lpbuffer);
//如果要指定域名,将NETUSERENUM里的第一个参数NIL 替换成域计算机名即可;
userinfo := lpbuffer;
userName:= WideCharToString(UserInfo^.usri1_name);//获取用户名
userdest:=WideCharToString(UserInfo^.usri1_comment);//获取用户描述
RichEdit1.Lines.Add(userName + '_' +userdest);
NetApiBufferFree(lpBuffer);//释放分配的空间
end;
这段可能更准确
monkely
2008-07-16
打赏
举报
回复
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ComCtrls;
type
USER_INFO_1 = record
usri1_name: LPWSTR;
usri1_password: LPWSTR;
usri1_password_age: DWORD;
usri1_priv: DWORD;
usri1_home_dir: LPWSTR;
usri1_comment: LPWSTR;
usri1_flags: DWORD;
usri1_script_path: LPWSTR;
end;
lpUSER_INFO_1 = ^USER_INFO_1;
function NetUserEnum(ServerName: PWideChar;Level, Filter: DWord;
var Buffer: Pointer;PrefMaxLen: DWord;
var EntriesRead,TotalEntries,ResumeHandle: DWord): LongWord;
stdcall; external 'netapi32.dll';
function NetApiBufferFree(pBuffer: PByte): LongInt;
stdcall; external 'netapi32.dll';
type
TForm1 = class(TForm)
BitBtn1: TBitBtn;
RichEdit1: TRichEdit;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.BitBtn1Click(Sender: TObject);
var
EntiesRead: DWORD;
TotalEntries: DWORD;
UserInfo: lpUSER_INFO_1;
lpBuffer: Pointer;
ResumeHandle: DWord;
Counter: Integer;
NetApiStatus: LongWord;
userName,userdest:string;
begin
ResumeHandle := 0;
repeat //枚举帐户
NetApiStatus := NetUserEnum(nil, 1, 0, lpBuffer, 0, EntiesRead,TotalEntries, ResumeHandle);
//如果要指定域名,将NETUSERENUM里的第一个参数NIL 替换成域计算机名即可;
UserInfo := lpBuffer;
for Counter := 0 to EntiesRead - 1 do
begin
userName:= WideCharToString(UserInfo^.usri1_name);//获取用户名
userdest:=WideCharToString(UserInfo^.usri1_comment);//获取用户描述
RichEdit1.Lines.Add(userName + '_' +userdest);
end;
until (NetApiStatus <> ERROR_MORE_DATA);//枚举下一下用户
NetApiBufferFree(lpBuffer);//释放分配的空间
end;
end.
计算机毕业设计课题:python校园运动场地预约系统
设置需要在前台查询框下面
显示
的热门运动场地,按,分隔 运动场地订单列表:
显示
所有
用户
预约的运动场地订单,包含预约
用户
信息、运动场地日期和时间等 运动场地订单管理:支持付款状态修改,删除 运动场地评论列表...
登录页面
显示
用户
名称
登录页面
显示
用户
名称
开发工具与关键技术:Visual Studio 2015 作者:李德新 撰写时间:2019年5月24日 在我们的学习过程中、或者生活中,我们总是能看到许许多多网页中总是有很多的登录按钮,而且在点击了登录...
【Win11登录界面
用户
名称
显示
问题解决】
Win11登录界面
用户
名称
显示
问题解决。
Linux id 命令 -
显示
用户
id和组id信息
若仅指定
用户
名称
,则
显示
目前
用户
的ID。 语法 id [-gGnru][--help][--version][
用户
名称
] 参数说明: -g或--group
显示
用户
所属群组的ID。-G或--groups
显示
用户
所属附加群组的ID。-n或--
Ubuntu查看
用户
、创建
用户
、解决新
用户
不
显示
用户
名、删除
用户
Ubuntu查看
用户
、创建
用户
、解决新
用户
不
显示
用户
名、删除
用户
简介 通过Ubuntu终端窗口进行
用户
的创建和删除,解决切换到新
用户
不
显示
用户
名问题。[转载请注明出处]。...查看
用户
在Ubuntu终端中进行
用户
查看 ...
Windows SDK/API
1,183
社区成员
22,335
社区内容
发帖
与我相关
我的任务
Windows SDK/API
Delphi Windows SDK/API
复制链接
扫一扫
分享
社区描述
Delphi Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章