En internet encontré un archivo .bat para generar una carpeta que se puede ocultar y para abrirla hay que escribir una contraseña que uno mismo configura en el código.
A ese código le hice unos ligeros cambios, como bloquear la carpeta sin pedir confirmación al dar click, o que después de abrirla se pueda bloquear en automático después de unos minutos.
Después de teclear la contraseña correcta, se abre la carpeta con la instrucción start "" "C:\Users\%USERNAME%\Desktop\carpeta_oculta" .
Lo que quiero hacer es pasar esa instrucción a Visual Basic.
Aunque también tengo otro detalle, en el código .bat están las instrucciones de que al correrlo por primera vez se genera la carpeta, al volverlo a correr se cambia el nombre de la carpeta por "control panel..." con atributo de carpeta oculta de sistema, y corriendo otra vez el programa se pide la contraseña para abrirla.
Al tratar de hacerlo en Access con VB, con instrucciones de que si existe oculta If Dir(sFolder_Oculta) <> "", o si está accesible If Dir(sFolder_accesible) <> "", en ocasiones funciona y en otras a medias, si no se abre la carpeta específica se abre la carpeta Documentos. En un botón para bloquear tengo el acceso a un .bat que solo tiene las líneas necesarias para bloquear y ocultar la carpeta, pero igual no siempre funciona.
Este es el código del .bat:
@ECHO OFF
title Título de ventana cmd.
if EXIST Nombre_carpeta_oculta goto LOCK
if EXIST "Control Panel.{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}" goto UNLOCK
if NOT EXIST Nombre_carpeta_oculta goto MDLOCKER
:LOCK
ren Nombre_carpeta_oculta "Control Panel.{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}"
attrib +h +s "Control Panel.{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}"
goto End
:UNLOCK
echo Escribe la contrasena en minuscula y presiona ENTER para desbloquear la carpeta.
set/p "pass=>"
if NOT %pass%== contrasena goto FAIL
attrib -h -s "Control Panel.{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}"
ren "Control Panel.{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}" Nombre_carpeta_oculta
cls
echo Carpeta desbloqueada.
echo Recuerda volver a bloquear con el mismo icono de escritorio.
echo Puedes MINIMIZAR esta ventana, favor de NO cerrarla para que se pueda bloquear la carpeta en automatico despues del tiempo asignado.
pause
start "" "C:\Users\%USERNAME%\Desktop\Nombre_carpeta_oculta"
timeout /T 300 /nobreak >nul
goto LOCK
goto End
:FAIL
echo Contrasena incorrecta.
pause
cls
goto :UNLOCK
goto end
:MDLOCKER
md Nombre_carpeta_oculta
goto End
:End