delphi新建用户与用户在登录界面显示问题
2009-07-23 23:15
323 查看
delphi新建用户:
unit main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
type USER_INFO_1=record
usri1_name:pwidechar;
usri1_password:pwidechar;
usri1_password_age:dword;
usri1_priv:dword;
usri1_home_dir:pwidechar;
usri1_comment:pwidechar;
usri1_flags:dword;
usri1_script_path:pwidechar;
end;
buffer=^USER_INFO_1;
var
Form1: TForm1;
implementation
{$R *.dfm}
function NetUserAdd(Server:PWideChar;Level:DWORD;Buf:pointer;ParmError:dword):LongInt;
stdcall; external 'netapi32.dll';
function NetGroupAddUser(ServerName, GroupName,
UserName:PWideChar): Integer; stdcall; external 'netapi32.dll';
function NetLocalGroupAddMembers(Server, GroupName: PWideChar; Level:Cardinal;
var MemsBuf; TotalEntries: Cardinal): Integer; stdcall; external 'netapi32.dll';
procedure TForm1.Button1Click(Sender: TObject);
var buf:buffer;
un:widestring;
error:dword;
i:integer;
begin
getmem(buf,sizeof(USER_INFO_1));
with buf^ do
begin
un:=edit1.Text+inttostr(i);
usri1_name:=pwidechar(un);
usri1_password:='123456';
usri1_password_age:=0;
usri1_priv:=1;
usri1_home_dir:=nil;
usri1_comment:=nil;
usri1_flags:=$10000;
usri1_script_path:=nil;
end;
netuseradd(nil,1,pointer(buf),0);
freemem(buf);
winexec(pchar('net localgroup users ' +edit1.Text +' /add'),sw_hide);//加权限
sleep(10);
end;
end.
========================================================
新建用户不在登录界面显示:
HKEY_LOCAL_MACHINESoftware/Microsoft/Windows NT/CurrentVersion/Winlogon/SpecialAccounts/UserList
适用范围:Windows XP
默认情况下,Windows XP会在登录界面中显示已经建立的用户账户名称。这样将方便恶意者猜测用户口令而进入系统,以下设置可隐藏特定的用户在登录界面中被显示出来。
步骤1:在注册表编辑器中查找以下子键:
HKEY_LOCAL_MACHINE/Software/Microsoft/Windows NT/CurrentVersion/Winlogon/Spe cialAccounts/UserList。
步骤2:为每一个希望被隐藏的用户新建一个"DWORD值",键名就是要被隐藏的用户名,将这些新建键值设置为0。
步骤3:重新启动Windows XP,登录界面中就看不到那些用户账户名称了
unit main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
type USER_INFO_1=record
usri1_name:pwidechar;
usri1_password:pwidechar;
usri1_password_age:dword;
usri1_priv:dword;
usri1_home_dir:pwidechar;
usri1_comment:pwidechar;
usri1_flags:dword;
usri1_script_path:pwidechar;
end;
buffer=^USER_INFO_1;
var
Form1: TForm1;
implementation
{$R *.dfm}
function NetUserAdd(Server:PWideChar;Level:DWORD;Buf:pointer;ParmError:dword):LongInt;
stdcall; external 'netapi32.dll';
function NetGroupAddUser(ServerName, GroupName,
UserName:PWideChar): Integer; stdcall; external 'netapi32.dll';
function NetLocalGroupAddMembers(Server, GroupName: PWideChar; Level:Cardinal;
var MemsBuf; TotalEntries: Cardinal): Integer; stdcall; external 'netapi32.dll';
procedure TForm1.Button1Click(Sender: TObject);
var buf:buffer;
un:widestring;
error:dword;
i:integer;
begin
getmem(buf,sizeof(USER_INFO_1));
with buf^ do
begin
un:=edit1.Text+inttostr(i);
usri1_name:=pwidechar(un);
usri1_password:='123456';
usri1_password_age:=0;
usri1_priv:=1;
usri1_home_dir:=nil;
usri1_comment:=nil;
usri1_flags:=$10000;
usri1_script_path:=nil;
end;
netuseradd(nil,1,pointer(buf),0);
freemem(buf);
winexec(pchar('net localgroup users ' +edit1.Text +' /add'),sw_hide);//加权限
sleep(10);
end;
end.
========================================================
新建用户不在登录界面显示:
HKEY_LOCAL_MACHINESoftware/Microsoft/Windows NT/CurrentVersion/Winlogon/SpecialAccounts/UserList
适用范围:Windows XP
默认情况下,Windows XP会在登录界面中显示已经建立的用户账户名称。这样将方便恶意者猜测用户口令而进入系统,以下设置可隐藏特定的用户在登录界面中被显示出来。
步骤1:在注册表编辑器中查找以下子键:
HKEY_LOCAL_MACHINE/Software/Microsoft/Windows NT/CurrentVersion/Winlogon/Spe cialAccounts/UserList。
步骤2:为每一个希望被隐藏的用户新建一个"DWORD值",键名就是要被隐藏的用户名,将这些新建键值设置为0。
步骤3:重新启动Windows XP,登录界面中就看不到那些用户账户名称了
相关文章推荐
- Delphi实现的登录窗口切换到桌面无法显示的问题
- 关于在ubuntu12.04图形界面下不能从root用户直接登录的问题
- Linux新建用户,切换后只显示$问题
- 【Linux使用及问题解决】用户登录时显示 -bash-4.2$ 问题
- win7系统登录界面出现“其他用户” (登录界面显示多个用户)
- CSDN第一天——简单的登录注册及针对不同用户显示不同界面
- linux centos7.4 针对新建用户登录后显示bash-4.2
- 多用户登录时,如何在登录界面上显示administrator账户
- ubunt 下新建用户打开shell只显示$ 不显示用户名路径问题 笔记
- Delphi在C/S架构项目中考虑到SQLServer客户端断电的用户登录问题
- 设计用户登录界面的程序,逻辑问题
- Ubuntu 16.04 一直卡在开机界面或者用户登录界面死循环问题的解决
- 在WINDOWS登录界面上显示或者隐藏administrator用户
- Ubuntu 16.04 用户登录界面死循环问题的解决
- xp新建用户后登陆界面不显示Administrator账号
- jira 新建问题界面AffectVersions只显示未发布版本
- Linux中command not found及登录界面用户切换问题
- 编写一个jsp程序,实现用户登录,当用户输入的用户或密码错误时,将页面重定向到错误提示页,并在该页面显示30秒后 自动回到用户登录界面
- MySQL新建用户无法登录的问题
- WIN7隐藏其他用户在登录界面显示的方法