楼主可要把分全给我哟!!!以下代码可以锁定和解锁文件夹,锁定后不管在资源管理器中还是其他程序中打开锁定的文件夹时都会提示“无法访问,另一个程序正在使用,进程无法访问。” 声明:该段代码由枕善居一段代码改编。Option ExplicitPrivate Const FILE_LIST_DIRECTORY = &H1 Private Const FILE_SHARE_READ = &H1& Private Const FILE_SHARE_DELETE = &H4& Private Const OPEN_EXISTING = 3 Private Const FILE_FLAG_BACKUP_SEMANTICS = &H2000000 Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, ByVal PassZero As Long, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal PassZero As Long) As Long Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As LongDim File_Share_Flag As Long Dim hDir As LongPrivate Sub LockPath(sPath As String) hDir = CreateFile(sPath, FILE_LIST_DIRECTORY, File_Share_Flag, _ ByVal 0&, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, ByVal 0&) End SubPrivate Sub UnLockPath() CloseHandle hDir End SubPrivate Sub Form_Load() File_Share_Flag = 0 End Sub
声明:该段代码由枕善居一段代码改编。Option ExplicitPrivate Const FILE_LIST_DIRECTORY = &H1
Private Const FILE_SHARE_READ = &H1&
Private Const FILE_SHARE_DELETE = &H4&
Private Const OPEN_EXISTING = 3
Private Const FILE_FLAG_BACKUP_SEMANTICS = &H2000000
Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, ByVal PassZero As Long, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal PassZero As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As LongDim File_Share_Flag As Long
Dim hDir As LongPrivate Sub LockPath(sPath As String)
hDir = CreateFile(sPath, FILE_LIST_DIRECTORY, File_Share_Flag, _
ByVal 0&, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, ByVal 0&)
End SubPrivate Sub UnLockPath()
CloseHandle hDir
End SubPrivate Sub Form_Load()
File_Share_Flag = 0
End Sub