VB中有能删除只读、隐藏和系统文件的代码么?Kill是不行的.

我想用VB编一个能删除只定位置的只读文件、隐藏的文件和系统文件的可执行文件,假设"D:\B\dgv.dll"是一个系统文件.

'将以下代码放到模块里,然后就可以调用KillPath来删除了。可以删除任何属性的文件,使用非常方便,如果删除失败,函数会返回false值,不会出错。比如要调用(KillPath "D:\B\dgv.dll"),就可以删除你所说的文件。通过修改第二个参数,你还可以让删除时显示进度或者错误信息等等Private Const FO_DELETE = &H3
Private Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long
Private Type SHFILEOPSTRUCT
hwnd As Long
wFunc As Long
pFrom As String
pTo As String
fFlags As Integer
fAnyOperationsAborted As Long
hNameMappings As Long
lpszProgressTitle As String
End Type
Public Function KillPath(ByVal sPath As String, Optional flags As Long = &H10 + &H4 + &H400) As Boolean
On Error Resume Next
Dim udtPath As SHFILEOPSTRUCT
udtPath.hwnd = 0
udtPath.wFunc = FO_DELETE
udtPath.pFrom = sPath
udtPath.pTo = ""
udtPath.fFlags = flags
KillPath = Not CBool(SHFileOperation(udtPath))
End Function
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-10
用SetFileAttributes 函数修改一下属性呗再或者试试FSO能不能直接删
相似回答
大家正在搜