- Declare Function WNetEnumCachedPasswords Lib "mpr.dll" (ByVal s As String, ByVal i As Integer, ByVal b As Byte, ByVal proc As Long, ByVal l As Long) As Long
- Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
- Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long
-
- Type PASSWORD_CACHE_ENTRY
- cbEntry As Integer
- cbResource As Integer
- cbPassword As Integer
- iEntry As Byte
- nType As Byte
- abResource(1 To 1024) As Byte
- End Type
-
- Public Function callback(X As PASSWORD_CACHE_ENTRY, ByVal lSomething As Long) As Integer
-
- Dim nLoop As Integer
- Dim cString, Resource, ResType, Password As String
- Dim ccomputer
-
- ResType = X.nType
- For nLoop = 1 To X.cbResource
- If X.abResource(nLoop) <> 0 Then
- cString = cString & Chr(X.abResource(nLoop))
- Else
- cString = cString & " "
- End If
- Next
-
- Resource = cString
- cString = ""
-
- For nLoop = X.cbResource + 1 To (X.cbResource + X.cbPassword)
- If X.abResource(nLoop) <> 0 Then
- cString = cString & Chr(X.abResource(nLoop))
- Else
- cString = cString & " "
- End If
- Next
-
- Password = cString
- cString = ""
- form1.list1.AddItem Resource
- form1.list1.AddItem Password
- callback = True
-
- End Function
-
- Public Sub GetPasswords()
-
- Dim nLoop As Integer
- Dim cString As String
- Dim lLong As Long
- Dim bByte As Byte
- bByte = &HFF
- nLoop = 0
- lLong = 0
- cString = ""
- Call WNetEnumCachedPasswords(cString, nLoop, bByte, AddressOf callback, lLong)
-
- End Sub
Declare Function WNetEnumCachedPasswords Lib "mpr.dll" (ByVal s As String, ByVal i As Integer, ByVal b As Byte, ByVal proc As Long, ByVal l As Long) As Long
Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Type PASSWORD_CACHE_ENTRY
cbEntry As Integer
cbResource As Integer
cbPassword As Integer
iEntry As Byte
nType As Byte
abResource(1 To 1024) As Byte
End Type
Public Function callback(X As PASSWORD_CACHE_ENTRY, ByVal lSomething As Long) As Integer
Dim nLoop As Integer
Dim cString, Resource, ResType, Password As String
Dim ccomputer
ResType = X.nType
For nLoop = 1 To X.cbResource
If X.abResource(nLoop) <> 0 Then
cString = cString & Chr(X.abResource(nLoop))
Else
cString = cString & " "
End If
Next
Resource = cString
cString = ""
For nLoop = X.cbResource + 1 To (X.cbResource + X.cbPassword)
If X.abResource(nLoop) <> 0 Then
cString = cString & Chr(X.abResource(nLoop))
Else
cString = cString & " "
End If
Next
Password = cString
cString = ""
form1.list1.AddItem Resource
form1.list1.AddItem Password
callback = True
End Function
Public Sub GetPasswords()
Dim nLoop As Integer
Dim cString As String
Dim lLong As Long
Dim bByte As Byte
bByte = &HFF
nLoop = 0
lLong = 0
cString = ""
Call WNetEnumCachedPasswords(cString, nLoop, bByte, AddressOf callback, lLong)
End Sub