Ver Mensaje Individual
  #7 (permalink)  
Antiguo 18/06/2006, 23:44
LeandroA
 
Fecha de Ingreso: abril-2005
Mensajes: 351
Antigüedad: 19 años
Puntos: 3
hola te paso un ejemplo pero tenes que tene esto en cuenta;
si se le cambia a la carpeta el nombre no funciona
y si no se abre desde el explorer tampoco

agrega un timer1 en un formulario y este codgio

La carpeta que bloquea es "Mis documentos"
y la contraseña "carlito"

Cita:
Option Explicit
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Const SC_CLOSE = &HF060&
Private Const WM_SYSCOMMAND = &H112
Const SW_SHOWNORMAL = 1
Const SW_SHOWHIDE = 0
Dim MemContraseña As String
Dim MiContraseña As String
Dim NombreCarpeta As String
Private Sub Form_Load()
Timer1.Interval = 100
Me.Visible = False
App.TaskVisible = False
MiContraseña = "Carlito"
NombreCarpeta = "Mis documentos"
End Sub

Private Sub Timer1_Timer()
BuscarCarpeta NombreCarpeta
End Sub

Private Function BuscarCarpeta(NombreCarpeta As String)
Dim hwnd As Long
hwnd = FindWindow(vbNullString, NombreCarpeta)

If hwnd <> 0 Then
If MemContraseña = "" Then
Call ShowWindow(hwnd, SW_SHOWHIDE)
MemContraseña = InputBox("Ingrese su contraseña", NombreCarpeta)
If Not UCase(MemContraseña) = UCase(MiContraseña) Then
Call SendMessage(hwnd, WM_SYSCOMMAND, SC_CLOSE, ByVal 0&)
If MemContraseña <> "" Then MsgBox "La contraseña es incorrecta", vbCritical, NombreCarpeta
MemContraseña = ""
End If
Else
Call ShowWindow(hwnd, SW_SHOWNORMAL)
End If
Else
MemContraseña = ""
End If

End Function
__________________
www.leandroascierto.com