VB-Homepage Tipp 210

MS Passwortprüfung & -änderung (mpr.dll)

Wenn Sie hoffen, diesen Tipp in Ihrem Novell Netware Netz einzusetzen, dann muß ich Sie leider enttäuschen.

Wenn Sie aber auf Windows 95 PCs die Funktionalität der Paßwortprüfung bzw. -änderung in Ihr Projekt integrieren wollen, dann ist dies Ihr Tipp.

Wie schon aus der Überschrift hervorgeht, bedient sich das Programm der MPR.DLL, die aber auf jedem Standard Win95 PC vorhanden sein sollte, sonst würde ja die systemeigene Paßwortänderung nicht gehen.

Für Paßwortvergleich und Paßwortänderung sind folgende Angaben identisch

Allgemein/Deklarationen

Option Explicit
Const NO_ERROR = 0
Const WN_SUCCESS = NO_ERROR
Private Declare Function WNetVerifyPassword Lib "mpr.dll" Alias "WNetVerifyPasswordA" (ByVal lpszPassword As String, ByRef pfMatch As Long) As Long
Private Declare Function PwdChangePassword Lib "mpr" Alias "PwdChangePasswordA" (ByVal lpcRegkeyname As String, ByVal hwnd As Long, ByVal uiReserved1 As Long, ByVal uiReserved2 As Long) As Long

Für den Paßwortvergleich benötigen sie nun ferner einen Commandbutton (Command1) und eine Textbox (Text1).
In die Textbox, der sie unter PasswordChar die Syntax * vergeben, tragen Sie später das zu prüfende Paßwort ein.

Unter Command1_Click geben sie folgendes ein.
Dim Match&, Password$
Password = Trim(Text1.Text)

If (WNetVerifyPassword(Password, Match)) <> WN_SUCCESS Then
   MsgBox "Fehler bei Passwortprüfung"
Else
   If Match <> 0 Then
      MsgBox "Korrektes Passwort"
   Else
      MsgBox "Falsches Passwort"
   End If
End If

Wenn Sie Ihr Projekt nun starten, in die Textbox Ihr Paßwort eingeben und den Button anklicken, erhalten Sie die Information, ob dieses Korrekt oder nicht Korrekt ist.

Für die Paßwortänderung benötigen Sie lediglich einen Commandbutton der die Aktion auslößt. Fügen Sie in die Click Aktion folgendes ein.
Dim RetVal As Long
RetVal = PwdChangePassword("MSNP32", Me.hwnd, 0&, 0&)

Den Dialog der auf den Buttonklick folgt, sollten Sie kennen.

Tipp-Download

Quelle : Joe LeVasseur / lvasseur@tiac.net

Zurück zur Übersichtsseite