ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|
Новый пользователь [Delphi] |

24.12.2009, 17:26
|
|
Участник форума
Регистрация: 08.11.2009
Сообщений: 114
Провел на форуме: 201148
Репутация:
-4
|
|
Новый пользователь [Delphi]
Всем привет, подскажите можно ли написать на делфи программу, которая создавала бы пользователя в винде?
|
|
|

24.12.2009, 17:54
|
|
Постоянный
Регистрация: 13.12.2008
Сообщений: 354
Провел на форуме: 1747641
Репутация:
175
|
|
Кажется, можно.
|
|
|

24.12.2009, 17:56
|
|
Участник форума
Регистрация: 08.11.2009
Сообщений: 114
Провел на форуме: 201148
Репутация:
-4
|
|
Сообщение от Chrome~
Кажется, можно.
как?
|
|
|

24.12.2009, 18:06
|
|
Постоянный
Регистрация: 13.12.2008
Сообщений: 354
Провел на форуме: 1747641
Репутация:
175
|
|
Речь идет об обычном пользователе системы, или об пользователе для дедика?
Так или иначе, тебе нужно использовать команды cmd.
|
|
|

24.12.2009, 18:09
|
|
Постоянный
Регистрация: 19.10.2007
Сообщений: 794
Провел на форуме: 1013791
Репутация:
711
|
|
NetUserAdd
http://msdn.microsoft.com/en-us/library/aa370649%28VS.85%29.aspx
|
|
|

24.12.2009, 18:22
|
|
Участник форума
Регистрация: 08.11.2009
Сообщений: 114
Провел на форуме: 201148
Репутация:
-4
|
|
Сообщение от neprovad
NetUserAdd
http://msdn.microsoft.com/en-us/library/aa370649%28VS.85%29.aspx
Я к сожалению не знаю СИ... Возможно это на делфи?
|
|
|

24.12.2009, 18:26
|
|
Leaders of Antichat - Level 4
Регистрация: 16.01.2006
Сообщений: 1,966
Провел на форуме: 21768337
Репутация:
3486
|
|
Сообщение от marcos
Я к сожалению не знаю СИ... Возможно это на делфи?
Это WinAPI а не СИ. Или английского тоже не знаешь?
|
|
|

24.12.2009, 18:43
|
|
Участник форума
Регистрация: 08.11.2009
Сообщений: 114
Провел на форуме: 201148
Репутация:
-4
|
|
Так а как это на Делфи Реализовать?
NetUserAdd(servername,level,buf,parm_err);
Так?
|
|
|

24.12.2009, 18:43
|
|
Постоянный
Регистрация: 19.10.2007
Сообщений: 794
Провел на форуме: 1013791
Репутация:
711
|
|
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
LPUSER_INFO_2 = ^USER_INFO_2;
{$EXTERNALSYM LPUSER_INFO_2}
PUSER_INFO_2 = ^USER_INFO_2;
{$EXTERNALSYM PUSER_INFO_2}
_USER_INFO_2 = record
usri2_name: LPWSTR;
usri2_password: LPWSTR;
usri2_password_age: DWORD;
usri2_priv: DWORD;
usri2_home_dir: LPWSTR;
usri2_comment: LPWSTR;
usri2_flags: DWORD;
usri2_script_path: LPWSTR;
usri2_auth_flags: DWORD;
usri2_full_name: LPWSTR;
usri2_usr_comment: LPWSTR;
usri2_parms: LPWSTR;
usri2_workstations: LPWSTR;
usri2_last_logon: DWORD;
usri2_last_logoff: DWORD;
usri2_acct_expires: DWORD;
usri2_max_storage: DWORD;
usri2_units_per_week: DWORD;
usri2_logon_hours: PBYTE;
usri2_bad_pw_count: DWORD;
usri2_num_logons: DWORD;
usri2_logon_server: LPWSTR;
usri2_country_code: DWORD;
usri2_code_page: DWORD;
end;
{$EXTERNALSYM _USER_INFO_2}
USER_INFO_2 = _USER_INFO_2;
{$EXTERNALSYM USER_INFO_2}
TUserInfo2 = USER_INFO_2;
PUserInfo2 = puser_info_2;
function NetUserAdd(ServerName: LPCWSTR; Level: DWORD;
Buff: PByte; var Parm_Err: DWORD): DWORD; stdcall;
external 'netapi32.dll';
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
const
NERR_Success = 0;
USER_PRIV_USER = 1;
UF_SCRIPT = $0001;
UF_DONT_EXPIRE_PASSWD = $10000;
var
UserInfo: TUserInfo2;
Parm_Err: DWORD;
begin
ZeroMemory(@UserInfo, SizeOf(TUserInfo2));
UserInfo.usri2_name := 'TestUser';
UserInfo.usri2_password := '123';
UserInfo.usri2_priv := USER_PRIV_USER;
UserInfo.usri2_flags := UF_SCRIPT or UF_DONT_EXPIRE_PASSWD;
if NetUserAdd(nil, 2, @UserInfo, Parm_Err) <> NERR_Success then
RaiseLastOSError
else
ShowMessage('Пользователь TestUser с паролем 123 успешно добавлен.');
end;
end.
|
|
|

24.12.2009, 19:10
|
|
Участник форума
Регистрация: 08.11.2009
Сообщений: 114
Провел на форуме: 201148
Репутация:
-4
|
|
neprovad, код не работает(((Почему, может нужно чтото подключить?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|