本文整理自网络,侵删。
unit Unit1;
interface
usesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls, ComCtrls;
typeUSER_INFO_1 = recordusri1_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';
typeTForm1 = class(TForm)Button1: TButton;ListView1: TListView;Button2: TButton;procedure Button1Click(Sender: TObject);procedure FormCreate(Sender: TObject);procedure Button2Click(Sender: TObject);
private{ Private declarations }public{ Public declarations }end;
varForm1: TForm1;
implementation
{$R *.dfm}//添加用户function NetUserAdd(Server: PWideChar; Level: DWORD; Buf: pointer; ParmError: dword): LongInt;stdcall; external 'netapi32.dll';//删除用户function NetUserDel(Server:PWideChar;username:pwidechar):LongInt;stdcall; external'netapi32.dll';procedure TForm1.Button1Click(Sender: TObject);varEntiesRead: DWORD;TotalEntries: DWORD;UserInfo: lpUSER_INFO_1;lpBuffer: pointer;ResumeHandle: DWord;Counter: Integer;NetApiStatus: LongWord;TempListItem: TListItem;begin
//增加用户
// getmem(UserInfo, sizeof(USER_INFO_1));//// with UserInfo^ do// begin// usri1_name := 'Gao168';// usri1_password := '610110';// usri1_password_age := 0;// usri1_priv := 1;// usri1_home_dir := nil;// usri1_comment := nil;// usri1_flags := 1;// usri1_script_path := nil;// end;//// NetApiStatus := NetUserAdd(nil, 1, pointer(UserInfo), 0);// freemem(UserInfo);
//获得用户
self.ListView1.Items.Clear;ResumeHandle := 0;repeatNetApiStatus := NetUserEnum(nil, 1, 0, lpBuffer, 0, EntiesRead,TotalEntries, ResumeHandle);UserInfo := lpBuffer;for Counter := 0 to EntiesRead - 1 dobeginTempListItem := self.ListView1.Items.Add;TempListItem.Caption := WideCharToString(UserInfo^.usri1_name);TempListItem.SubItems.Add(WideCharToString(UserInfo^.usri1_comment));Inc(UserInfo);end;NetApiBufferFree(lpBuffer);until (NetApiStatus <> ERROR_MORE_DATA);end;
https://www.cnblogs.com/windson/p/12504378.html
相关阅读 >>
Delphi int64:是Delphi中最大的整数,64位有符号整数
Delphi xe datasnap服务器获取客户端ip地址
Delphi tscreen 类 - 通过 screen 更换光标
Delphi 取得开机时间 开机时间总长度(可精确到秒,分钟等)
更多相关阅读请进入《Delphi》频道 >>