通LotusScript切换id并修改id的密码

12/3/2006来源:Lotus Notes人气:10766

Declare Function SECKFMChangePassWord Lib "c:\lotus\notes\nnotes.dll" (Byval IDFile$,Byval OldPassword$,Byval NewPassword$)As IntegerDeclare Function SECKFMSwitchToIDFile Lib "c:\lotus\notes\nnotes.dll" (Byval IDFile$,Byval Password$,Byval UserName$, Byval MaxUserNameLength%,Byval ReservedFlag%26amp;,Byval flag%26amp;)As IntegerDeclare Function OSLoadString Lib "c:\lotus\notes\nlib.dll" (Byval hModule%26amp;, Byval Status%, Byval retBuffer$, Byval BufferLength%) As IntegerConst MAXUSERNAME=256Type ID_INFO	Name As String	Password As StringEnd TypeFunction APICheckError(Error%) As String		Dim s$, x%		If Error% <> 0 Then		s$ = Space$(254)		x% = OSLoadString(0, Error%, s$, 254)          		If x% = 0 Then			s$ = "General Notes Error"		Else			s$ = Left$(s$,x%)		End If          		APICheckError= s$	End If          	End FunctionSub APISwitchID(filepath$, passwordlist, id As ID_Info, s$)	Dim Status%	Dim Flag%		Dim UserName As String * MAXUSERNAME		ID.Name="NA"	ID.Password= "NA"		Flag%=False	Forall x In PasswordList									pword$=Cstr(x)		PRint s %26amp; " Checking Password ......" %26amp; Pword$ ,filepath$		Status%=SECKFMSwitchToIDFile(filepath$,pword$,UserName,MAXUSERNAME,0,0)			If Status% =0 Then 								Print Now " Change Password SUCCESS <" %26amp; IDFile$ %26amp; ">"				'			Call  CreateIDDoc(filepath$,UserName,pword$,filepath$)							Flag%=True			ID.Name=UserName			ID.Password= Cstr(x)			Exit Forall		Else					Print "Error " %26amp; APICheckError(status%)			Print" Change Password ERROR <" %26amp; IDFile$ %26amp; ">"			Print" ERROR <" %26amp; APICheckError(status%)%26amp; ">"				End If			Status%=0		Yield	End Forall	If Flag%=False Then		Print Now %26amp; " ERROR Could Not Add file <" %26amp; IDFile$ %26amp; ">"					End If	End SubFunction  APIChangePword(IDFile$, OldPword$, NewPword$)As Integer		Dim Status%			Status%=SECKFMChangePassword(IDFile$,OldPword$,NewPword$)	If Status% =0 Then 		Print"Change Password SUCCESS <" %26amp; IDFile$ %26amp; ">"		APIChangePword=True	Else				Print"Change Password ERROR <" %26amp; IDFile$ %26amp; ">"		Print"ERROR <" %26amp; APICheckError(status%)%26amp; ">"		APIChangePword=False	End If		End Function
,