|
Option
?
Explicit
?

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?

Private
?Declare?
Function
?SHFileOperation?Lib?
"
shell32.dll
"
?_?
????????Alias?
"
SHFileOperationA
"
?(lpFileOp?
As
?SHFILEOPSTRUCT)?
As
?
Long
?

Private
?
Const
?FOF_ALLOWUNDO?
=
?
&
H40?
Private
?
Const
?FOF_NOCONFIRMATION?
=
?
&
H10?
Private
?
Const
?FOF_SIMPLEPROGRESS?
=
?
&
H100?

Private
?
Const
?FO_COPY?
=
?
&
H2?
Private
?
Const
?FO_MOVE?
=
?
&
H1?

'
--------------------------------------------------------------------------------?
'
?過程:?ShellFileCopy?
'
?描述:?復制文件,并顯示“正在復制 ”進度條對話框?
'
?返回:?[Boolean]?True為復制成功,F(xiàn)alse為復制失敗?
'
?
'
?參數:?
'
?????Src?(String)??????????????????????要復制的源文件?
'
?????Dest?(String)?????????????????????要復制到的位置?
'
?????hWnd?(Long)???????????????????????父窗體的句柄(可選)?
'
?????NoShowText?(Boolean?=?False)??????是否不顯示復制的文件名?
'
?????NoConfirm?(Boolean?=?False)???????是否不顯示確認對話框?
'
?
'
--------------------------------------------------------------------------------?
Public
?
Function
?ShellFileCopy(Src?
As
?
String
,?Dest?
As
?
String
,?_?
???????Optional?hWnd?
As
?
Long
,?_?
???????Optional?NoShowText?
As
?
Boolean
?
=
?
False
,?_?
???????Optional?NoConfirm?
As
?
Boolean
?
=
?
False
)?
As
?
Boolean
?

????
Dim
?SFO?
As
?SHFILEOPSTRUCT?
????
Dim
?lRet?
As
?
Long
?
????
Dim
?lflags?
As
?
Long
?

????lflags?
=
?FOF_ALLOWUNDO?

????
If
?NoShowText?
Then
?lflags?
=
?lflags?
Or
?FOF_SIMPLEPROGRESS?

????
If
?NoConfirm?
Then
?lflags?
=
?lflags?
Or
?FOF_NOCONFIRMATION?

????
With
?SFO?

????????.wFunc?
=
?FO_COPY?
????????.pFrom?
=
?Src?
????????.pTo?
=
?Dest?
????????.fFlags?
=
?lflags?
?????????
????
End
?
With
?

????lRet?
=
?SHFileOperation(SFO)?
????ShellFileCopy?
=
?(lRet?
=
?
0
)?

End?Function
?

'
--------------------------------------------------------------------------------?
'
?過程:?ShellFileMove?
'
?描述:?移動文件,并顯示“正在移動 ”進度條對話框?
'
?返回:?[Boolean]?True為移動成功,F(xiàn)alse為移動失敗?
'
?
'
?參數:?
'
?????Src?(String)??????????????????????要移動的源文件?
'
?????Dest?(String)?????????????????????要移動到的位置?
'
?????hWnd?(Long)???????????????????????父窗體的句柄(可選)?
'
?????NoShowText?(Boolean?=?False)??????是否不顯示移動的文件名?
'
?????NoConfirm?(Boolean?=?False)???????是否不顯示確認對話框?
'
?
'
--------------------------------------------------------------------------------?
Public
?
Function
?ShellFileMove(Src?
As
?
String
,?Dest?
As
?
String
,?_?
???????Optional?hWnd?
As
?
Long
,?_?
???????Optional?NoShowText?
As
?
Boolean
?
=
?
False
,?_?
???????Optional?NoConfirm?
As
?
Boolean
?
=
?
False
)?
As
?
Boolean
?

????
Dim
?SFO?
As
?SHFILEOPSTRUCT?
????
Dim
?lRet?
As
?
Long
?
????
Dim
?lflags?
As
?
Long
?

????lflags?
=
?FOF_ALLOWUNDO?

????
If
?NoShowText?
Then
?lflags?
=
?lflags?
Or
?FOF_SIMPLEPROGRESS?

????
If
?NoConfirm?
Then
?lflags?
=
?lflags?
Or
?FOF_NOCONFIRMATION?

????
With
?SFO?

????????.wFunc?
=
?FO_MOVE?
????????.pFrom?
=
?Src?
????????.pTo?
=
?Dest?
????????.fFlags?
=
?lflags?
?????????
????
End
?
With
?

????lRet?
=
?SHFileOperation(SFO)?
????ShellFileMove?
=
?(lRet?
=
?
0
)?

End?Function
注意Private?Declare?Function?SHFileOperation?Lib?"shell32.dll"
?_?
????????Alias?
"
SHFileOperationA
"? 引號里的空格 ,一定要去掉
|