这是vb的世界,这是程序源代码的海洋,我借此与众多朋友共同交流编程思想,编程技巧,望我能够在帮助大家的同时,得到大家的恩惠。魔灵圣域欢迎大家的到来。

用API一次删除、移动、复制、改名含有文件及子目录的文件夹

2008-11-18 11:59:17 / 个人分类:VB 类别

'**************************************************************************
S~ ^mX2\0'**模 块 名:工程1 - Form1
#Y*?Jdp_ N gov0'**说    明:魔灵圣域 版权所有2008 - 2009(C) by icecept(魔灵)
vm2G1OV{0'**创 建 人:icecept(魔灵)
pE pjU+W)R0'**日    期:2008-11-18 01:10:06
'@!r2Tx"n0'**修 改 人:icecept(魔灵)VBGood社区门户f6rR7x5qRJ
'**日    期:
hoJ3l/X"z:h&?3t1hl0'**描    述:icecept(魔灵)制作VBGood社区门户b(MM"x|i)Z
'**版    本:V1.0.0    http://icecept.blog.sohu.comVBGood社区门户6Z9@]Q._Q
'*************************************************************************VBGood社区门户;@_8A)l4Yx9I
Option Explicit
G`qw6h7P8N W-Z0'用API一次删除移动复制改名含有文件及子目录的文件夹VBGood社区门户]fg+~.s
Private Const FO_MOVE = &H1                '移动VBGood社区门户;s7h]7DO cd/^Swx
Private Const FO_COPY = &H2                '复制
AV,["J&wk:Bv,qX0Private Const FO_DELETE = &H3              '删除
{'W3Br)I"vf0Private Const FO_RENAME = &H4              '改名VBGood社区门户3P,D_`iS H
Private Const FOF_NOCONFIRMATION = &H10    '没有提示VBGood社区门户*X/O [ t q{
Private Const FOF_SILENT = &H4VBGood社区门户 GB;xNOn5M-j(b
Private Const FOF_NOERRORUI = &H400
@'Rl@C[ hk2L0Private Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As LongVBGood社区门户.pDa;Fcnt
Private Type SHFILEOPSTRUCTVBGood社区门户ezJ J{9mv
    hwnd  As Long         '句柄VBGood社区门户*dJi9F|7|
    wFunc  As Long        '操作命令
Dp(d _h3v$U6~7^~0    pFrom  As String      '源文件夹
QRH7{?'f;Bq2f0    pTo  As String        '目标文件夹
P#z$mq%rv0xB0    fFlags  As Integer    '
ZN%Q%~r~I)UH0    fAnyOperationsAborted  As Long     '不详
}.o5I7n)^5c%U9M/E0    hNameMappings  As Long             '不详VBGood社区门户^ JJ&D+S&i]
    lpszProgressTitle  As String   '   当取 FOF_SIMPLEPROGRESS 时,此参数才被使用VBGood社区门户 ^(GC9c%?k;`| K
End Type
_%H4a(W+C%FR?e:u _0Private Function PathOperate(ByVal FormPath As String, ByVal ToPath As String, ByVal sOrder As String) As BooleanVBGood社区门户H.D{X_
    On Error Resume NextVBGood社区门户1o*W*@,hs~h![:~H%x
    Dim udtPath   As SHFILEOPSTRUCTVBGood社区门户#` _G4z;R6}7V9M Q
    udtPath.hwnd = 0
]sMaR0    udtPath.wFunc = sOrder
+F'Yy KX/m't;x0    udtPath.pFrom = FormPathVBGood社区门户(}(\n0I#b6G
    udtPath.pTo = ToPathVBGood社区门户? k*m*vP B
    udtPath.fFlags = FOF_NOCONFIRMATION Or FOF_SILENT Or FOF_NOERRORUIVBGood社区门户Zgg7`"m P
    PathOperate = Not CBool(SHFileOperation(udtPath))
4Gb"F`-A5KGmZ0End Function
.l)s&[&b7J0Private Sub Command1_Click()
q%kFv v&V0    '一次移动含有文件的目录或文件夹VBGood社区门户b|5M!Lg0s r#v(i
    '把c盘文件夹a及其其中的文件夹及目录移动到d盘的文件夹e中VBGood社区门户D8e| G!r)J&{
    PathOperate "c:\a", "d:\e", FO_MOVE
/RI_2j p?0End SubVBGood社区门户[#]#s/_.l#yv
Private Sub Command2_Click()
Tq'tN)@!],R"D#OA0    '一次移动含有文件的目录或文件夹VBGood社区门户y'L(X8p:['?DQ`FE
    '把c盘文件夹a及其中的文件夹及目录复制到d盘的文件夹e中VBGood社区门户$R\$R,v oJ
    PathOperate "c:\a", "d:\e", FO_COPYVBGood社区门户;I*yZ9z#|
End SubVBGood社区门户 xJW:|~6n+K9uI\
Private Sub Command3_Click()
,A b$bI/c(HX*JCj(q0    '一次删除含有文件的目录或文件夹VBGood社区门户!w(@!z l^#Uu.q~@1_
    '把c盘文件夹a中的文件夹及目录移动到d盘的文件夹e中
Mqas&J/h7h0    PathOperate "c:\a", vbNullString, FO_DELETE
1X DKsGQ5otk0End SubVBGood社区门户0K*]bZ\4^V
Private Sub Command4_Click()
A3^?fHR0    '对含有子文件夹的目录改名VBGood社区门户 B'r ]:DVr@u
    '把c盘文件夹a及其其中的文件夹及目录到d盘的文件夹e中
8t"ic%jN{&Rk0    PathOperate "c:\a", "c:\e", FO_RENAMEVBGood社区门户` GQ r S9IM
End Sub
["GCV pt$V9b0

一次删除、复制、移动文件夹.rarVBGood社区门户)r+i0t C O#`w&P
(2008-11-18 11:46:51, Size: 6.12 kB, Downloads: 0)


TAG: VB API 文件夹 删除 移动 复制 改名

魔灵圣域之VB世界 icecept 发布于2008-11-18 11:49:03
谁能解释一下以下五句的中文意思
FOF_SILENTblog.vbgood.com~ KEn;Q3o)I#f
FOF_NOERRORUI  VBGood社区门户&sE'Jp_P
fAnyOperationsAborted  As Long  5b:w        @SI K#sq5p
hNameMappings  As Long  blog.vbgood.com+D,fMlZ(~;E
lpszProgressTitle  As String
xqD(Tge
U        W&K}F8L'pf|0B_VBGood社区门户[ 本帖最后由 icecept 于 2008-11-19 10:11 编辑 ]
我来说两句

(可选)

Open Toolbar