home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 April / Chip_2002-04_cd1.bin / zkuste / delphi / kolekce / d56 / NT.ZIP / NTChangePassword.pas < prev    next >
Pascal/Delphi Source File  |  1999-06-19  |  2KB  |  53 lines

  1. unit NTChangePassword;
  2.  
  3. interface
  4.  
  5. uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
  6.  
  7. type
  8.   TNTChangePassword = class(TComponent)
  9.   private
  10.     { Private declarations }
  11.     FDomainName:String;
  12.     FUserName:String;
  13.     FOldPassword:String;
  14.     FNewPassword:String;
  15.   protected
  16.     { Protected declarations }
  17.   public
  18.     { Public declarations }
  19.   published
  20.     { Published declarations }
  21.     property DomainName:String read FDomainName write FDomainName;
  22.     property UserName:String read FUserName write FUserName;
  23.     property OldPassword:String read FOldPassword write FOldPassword;
  24.     property NewPassword:String read FNewPassword write FNewPassword;
  25.     function Execute:LongInt;
  26.   end;
  27.  
  28. function NetUserChangePassword(Domain:PWideChar;UserName:PWideChar;OldPassword:PWideChar;NewPassword:PWideChar):LongInt; stdcall; external 'netapi32.dll';
  29.  
  30. procedure Register;
  31.  
  32. implementation
  33.  
  34. function TNTChangePassword.Execute:LongInt;
  35. var Tmp1:Array[0..255] Of WideChar;
  36.     Tmp2:Array[0..255] Of WideChar;
  37.     Tmp3:Array[0..255] Of WideChar;
  38.     Tmp4:Array[0..255] Of WideChar;
  39. begin
  40.      StringToWideChar(FDomainName,@Tmp1,255);
  41.      StringToWideChar(FUserName,@Tmp2,255);
  42.      StringToWideChar(FOldPassword,@Tmp3,255);
  43.      StringToWideChar(FNewPassword,@Tmp4,255);
  44.      Result:=NetUserChangePassword(@Tmp1,@Tmp2,@Tmp3,@Tmp4);
  45. end;
  46.  
  47. procedure Register;
  48. begin
  49.   RegisterComponents('NT Tools - Additional', [TNTChangePassword]);
  50. end;
  51.  
  52. end.
  53.