Autor
|
Tema: Comprobar password de usuario de windows desde VB (Leído 5,947 veces)
|
Angeldj27
Desconectado
Mensajes: 199
Ahorra Agua... Beba Cerveza
|
Hola a Todos... Soy nuevo por aqui y espero que me puedan ayudar Tengo un sistema hecho en visual basic y quisiera comprobar el password del usuario desde mi sistema osea esto es cuando se digita el password en un textbox o tambien una forma de como obtenerlo desde visual basic
|
|
|
En línea
|
"Que vamos a hacer Mañana?..... Lo mismo que hacemos todos los dias Pinky tratar de Conquistar el Mundoooo!!!!!
|
|
|
cobein
|
A que te referis? el pass de windows o uno de tu sistema Bueno mire el titulo y supongo que hablas del pass del sistema, esto es lo que uso yo. '--------------------------------------------------------------------------------------- ' Module : mSystemPassword ' DateTime : 24/04/08 15:22 ' Author : Cobein ' Mail : cobein27@hotmail.com ' Usage : At your own risk. ' WebPage : http://cobein27.googlepages.com/vb6 ' Purpose : Validate system password ' Requirements: None ' Distribution: You can freely use this code in your own ' applications, but you may not reproduce ' or publish this code on any web site, ' online service, or distribute as source ' on any media without express permission. ' History : 24/04/08 - First Cut.................................................... '--------------------------------------------------------------------------------------- Option Explicit Private Const NERR_BASE As Long = 2100 Private Const NERR_PasswordCantChange As Long = (NERR_BASE + 143) Private Const NERR_PasswordHistConflict As Long = (NERR_BASE + 144) Private Const NERR_PasswordTooShort As Long = (NERR_BASE + 145) Private Const NERR_PasswordTooRecent As Long = (NERR_BASE + 146) Private Declare Function NetUserChangePassword Lib "netapi32.dll" (ByVal sDomain As String, ByVal sUserName As String, ByVal sOldPassword As String, ByVal sNewPassword As String) As Long Public Function ValidateSysPassword( _ ByVal sPassword As String, _ Optional ByVal sUserName As String, _ Optional ByVal sDomain As String) As Boolean If Len(sUserName) = 0 Then sUserName = Environ$("USERNAME") End If If Len(sDomain) = 0 Then sDomain = Environ$("USERDOMAIN") End If Select Case NetUserChangePassword( _ StrConv(sDomain, vbUnicode), _ StrConv(sUserName, vbUnicode), _ StrConv(sPassword, vbUnicode), _ StrConv(sPassword, vbUnicode)) Case 0, NERR_PasswordCantChange, _ NERR_PasswordHistConflict, _ NERR_PasswordTooShort, _ NERR_PasswordTooRecent ValidateSysPassword = True End Select End Function
|
|
« Última modificación: 3 Junio 2008, 19:03 pm por cobein »
|
En línea
|
|
|
|
Angeldj27
Desconectado
Mensajes: 199
Ahorra Agua... Beba Cerveza
|
Gracias cobein por tu pronta respuesta
Si es el password del usuario actual de windows que nesesito
|
|
|
En línea
|
"Que vamos a hacer Mañana?..... Lo mismo que hacemos todos los dias Pinky tratar de Conquistar el Mundoooo!!!!!
|
|
|
cobein
|
Ahi puse el code, edite mintras respondias.
|
|
|
En línea
|
|
|
|
Angeldj27
Desconectado
Mensajes: 199
Ahorra Agua... Beba Cerveza
|
cobein no quiero cambiar el password del usuario en cuestion sino comprobar que el password que estoy digitando es el mismo de este usuario.
Talves me entiendas mejor.
Saludos...
|
|
|
En línea
|
"Que vamos a hacer Mañana?..... Lo mismo que hacemos todos los dias Pinky tratar de Conquistar el Mundoooo!!!!!
|
|
|
seba123neo
|
Hola,me parece que es con la api wnetverifypassword...
saludos.
|
|
|
En línea
|
|
|
|
Angeldj27
Desconectado
Mensajes: 199
Ahorra Agua... Beba Cerveza
|
Gracias por contestar
Mira ya lo intente con esa api pero no me funciono talves me puedas ayudar aki te dejo el codigo para ver que me dices
Private Declare Function wnetverifypassword Lib "mpr.dll" Alias "wnetverifypassworda" (ByVal lpszpassword As String, ByRef pfmatch As Long) As Long
Public Function verify(ByVal password As String) As Boolean Dim ret As Long, match As Long ret = wnetverifypassword(password, match) If ret Then verify = False Else verify = (match <> 0) End If End Function
pero no me esta funcionando o talves la estoy implementando mal
Saludos..
|
|
|
En línea
|
"Que vamos a hacer Mañana?..... Lo mismo que hacemos todos los dias Pinky tratar de Conquistar el Mundoooo!!!!!
|
|
|
cobein
|
No lo vas a cambiar, simplemente llama a la function pasandole el password y te va a devolver True o False si es correcto o no
|
|
|
En línea
|
|
|
|
Angeldj27
Desconectado
Mensajes: 199
Ahorra Agua... Beba Cerveza
|
Oh si efectivamente ese es el codigo que necesitaba lo que paso que le di un copy paste a tu codigo y parece que omiti una partesita del codigo pero lo chekie de nuevo y esta nitido te lo agradezco cobein.
Muchas gracias por ayudarme... Bay y Saludos...
|
|
|
En línea
|
"Que vamos a hacer Mañana?..... Lo mismo que hacemos todos los dias Pinky tratar de Conquistar el Mundoooo!!!!!
|
|
|
drakolive
Desconectado
Mensajes: 141
|
esto para que es? sDomain?? supongamos que yo haga un llamado a esa funcion msgbox ValidateSysPassword("mipassword","admin", ????????????????)
???
|
|
|
En línea
|
|
|
|
|
|